代老师的博客 https://github.com/daichangya

程辉:谈工程师的价值和发展

我一直认为,工程师,尤其是一线的,是最接近真相的人,也是最懂业务的人,应该有充分自由去实现自己想做的事情,去改造存在问题的项目,去颠覆陈旧的观念,可惜中国的土壤不好,公司的文化和观念也不是一天能改过来的,如果你能有机会去硅谷,那恭喜你,工程师在那里的地位是最高的。 AD:2013大数据全球技术峰会课程PPT下载 本来想写招聘广告的,结果谈工程师就花了大把的篇幅,

daicy daicy 发布于 2019-04-17

从Jetty、Tomcat和Mina中提炼NIO构架网络服务器的经典模式

如何正确使用NIO来构架网络服务器一直是最近思考的一个问题,于是乎分析了一下Jetty、Tomcat和Mina有关NIO的源码,发现大伙都基于类似的方式,我感觉这应该算是NIO构架网络服务器的经典模式,并基于这种模式写了个小小网络服务器,压力测试了一下,效果还不错。废话不多说,先看看三者是如何使用NIO的。 Jetty Connector的实现 先看看有关类图:

daicy daicy 发布于 2019-04-17

快速精确的对数学表达式求值

简介: 对于未经训练的用户来说,计算机科学领域中数学表达式求值的传统方法即不顺手又难以使用;软件工程师 Nikola.Stepan 旨在改变这些传统方法。他的 applet W3Eval 对表达式求值与您用纸

daicy daicy 发布于 2019-04-17

程序员面试什么最重要?

程序员面试一直是社区乐于讨论的热门话题。我自己从06年实习以来,先后经历了4家软件公司,全部是外企,其中有世界500强的通信企业,有从事期权期货交易的欧洲中等规模的金融公司,也有为大型汽车制造商开发Android智能汽车的

daicy daicy 发布于 2019-04-17

再谈最终一致

在世界范围构建可靠的分布式系统往往要求在一致性和可用性之间进行权衡。上个月,亚马逊公司的CTO Werner Vogels发表了一篇文章,描述在大型分布式系统中容忍最终数据一致性的方法。 正如InfoQ之前的一篇文章《牺牲一致性来换取分布式架构的可伸缩性》里所讨论的: 系统架构师角色关键的一方面就是衡量相互冲突的需求、决定解决方案,常常要牺牲一个方面来换取另一个方面。 亚马逊公司

daicy daicy 发布于 2019-04-17

Java的ClassLoader与Package机制

为了深入了解Java的ClassLoader机制,我们先来做以下实验: package java.lang; public class Test {     public static void main(String[] args) {         char[] c = "1234567890".toCharArray();         String s = new Str

daicy daicy 发布于 2019-04-17

java中并发包简要分析01

参考《分布式java应用》一书,简单过一遍并发包(java.util.concurrent) ConcurrentHashMap ConcurrentHashMap是线程安全的HashMap的实现。 1)添加 put(Object key , Object value) ConcurrentHashMap并没有采用synchronized进行控制,

daicy daicy 发布于 2019-04-17

学习新技术的10个建议

我们生活在一个振奋人心的时代。我们可以越来越方便廉价地获得大量学习资源。这些资源的传播载体由最初的教室被变成了博客,技术论坛等。坐拥如此众多的学习资源,我们没有任何理由不去好好利用。随之而来的问题便是如何在这知识的海洋中选择自己的前进方向。在这篇文章中,我将简要概括一些技术学习的建议,希望可以给你带来一些启发。

daicy daicy 发布于 2019-04-17

我拒绝参加你们的技术面试

我十分不擅长对付技术面试。就我参加过的几十次来说,我甚至连一次都没有通过。一般来说,过程是这样的:因为一次偶然的联系,一个经理或一个招募者

daicy daicy 发布于 2019-04-17

使用 ASM 实现 Java 语言的“多重继承”

问题的提出 在大部分情况下,需要多重继承往往意味着糟糕的设计。但在处理一些遗留项目的时候,多重继承可能是我们能做出的选择中代价最小的。由于 Java 语言本身不支持多重继承,这常常会给我们带来麻烦,最后的结果可能就是大量的重复代码。本文试图使用 ASM 框架来解决这一问题。在扩展类的功能的同时,不产生任何重复代码。 考虑如下的实际情况:有一组类,名为 SubClass1、SubClas

daicy daicy 发布于 2019-04-17

技术面不深入

工作一年了,换过一次工作,最近面试的时候面试官说我只能算是一个junior,离senior还差一些,虽然 不服气,但是仔细想来,却也没什么不对的。     一年了,对自己水平的总结就是:貌似什么都知道点,但是什么又都不深入。    曾经一个同学告诉我,技术 通过做两个项目就上来了!然后面试官问我怎么快速提高自己的

daicy daicy 发布于 2019-04-17

构建的可伸缩性和达到的性能:一个虚拟座谈会

实现伸缩性和性能调优的经验所保有的价值容易被低估。两者都是“晚些时候”或“我们真正流行起来时”所面临的难题。早期创业公司确实不应该立即花这份钱,而大公司通常不能做出足够快速的反应以实现所需的改变。再加上这需要一个多学科的团队,它立刻就变成了一个需要解决的政治上和工程上的难题。 但是它从来不会从我们的视线中消失——在过去的少数几个Qcon会议上,“Architectures You"ve Al

daicy daicy 发布于 2019-04-17

Tomcat 系统架构与设计模式,第 1 部分: 工作原理

Tomcat 工作原理 本文以 Tomcat 5 为基础,也兼顾最新的 Tomcat 6 和 Tomcat 4。Tomcat 的基本设计思路和架构是具有一定连续性的。 Tomcat 总体结构 Tomcat 的结构很复杂,但是 Tomcat 也非常的模块化,找到了 Tomcat 最核心的模块,您就抓住

daicy daicy 发布于 2019-04-17

使用 Java 配置进行 Spring bean 管理

简介: Spring bean 是使用传统的 XML 方法配置的。在这篇文章中,您将学习使用基于纯 Java 的配置而非 XML 来编写 Spring bean 并配置它们。本文将介绍可用来配置 bean 的多种注释。此外还将演示基于 Java 的配置,将它与基

daicy daicy 发布于 2019-04-17

坚持编程:如何找到一份工程师工作

说实话,你是一位优秀的工程师候选人吗?你怎么评价自己?你面试过多少家公司?你拿到offer的比率是多少?试一下用以下的公式来计算。 x = number of companies interviewed with onsite  y = number of offers received   value = 100 * log(x) * y / x  如果你的计算结果小于90,请仔细阅读这

daicy daicy 发布于 2019-04-17

使用 Spring Data JPA 简化 JPA 开发

简介: 本文由浅入深地讲述了使用 Spring Data JPA 需要关注的各个方面,为读者了解和使用该框架提供了指导,可以作为 Spring Data JPA 的学习指南。

daicy daicy 发布于 2019-04-17

谈谈数据库中MyISAM与InnoDB区别

MyISAM:这个是默认类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法。与其他存储引擎比较,MyISAM具有检查和修复表格的大多数工具。 MyISAM表格可以被压缩,而且它们支持全文搜索。它们不是事务安全的,而且也不支持外键。如果事物回滚将造成不完全回滚,不具有原子性。如果

daicy daicy 发布于 2019-04-17

Java多线程设计模式(两阶段终止模式)

一 Two-Phase Termination Pattern   Two-Phase Termination Pattern,指的就是当希望结束一个线程的时候,送出一个终止请求,但是不会马上停止,做一些刷新工作。进入“终止处理中”,在该状态下,不会进行该线程日常工作任务的操作,而是进行一些终止操作。    这个方式所考虑的因素如下:   1,必须要考虑到使得该线程能够安全的结束

daicy daicy 发布于 2019-04-17
jvm

JAVA虚拟机体系结构

JAVA虚拟机的生命周期   一个运行时的Java虚拟机实例的天职是:负责运行一个java程序。当启动一个Java程序时,一个虚拟机实例也就诞生了。当该程序关闭退出,这个虚拟机实例也就随之消亡。如果同一台计算机上同时运行三个Java程序,将得到三个Java虚拟机实例。每个Java程序都运行于它自己的Java虚拟机实例中。   Java虚拟机实例通过调用某个初始类的main()方法来运行

daicy daicy 发布于 2019-04-17

基于JDBC的数据库连接池高效管理策略

在基于JDBC的数据库应用开发中,数据库连接的管理是一个难点,因为它是决定该应用性能的一个重要因素。本文在对数据库连接进行透彻分析的基础上,提出并实现了一个高效的连接管理策略,使得开发高性能的数据库应用变得相对容易。特别是,对于连接管理中的两个难点:事务和多线程问题进行了深入的剖析,并给出了一个基于设计模式的解决方案

daicy daicy 发布于 2019-04-17
上一页 下一页