115题Java面试问题和答案之Java线程

- JAVA - 阅2714

怎样保证N个线程访问N个资源,而不产生死锁? 当使用N个线程时, 一个很简单的避免死锁的方法就是,强制对锁排序,每一个线程都遵循这个顺序。那么,如果所有线程都按照同样的顺序加锁和解锁,就不会产生死锁。

115题Java面试问题和答案之Java的一些常见问题

- JAVA - 阅3055

当一个对象以值方式传递时,表示这个对象的一份拷贝被传递。但是,即使这个对象被改变了,也不会影响原来的值。当一个对象是以按引用方式传递,表示实际对象没有被传递,而是这个对象的一个引用被传递。所以,外部方法的所有更改都可以产生影响。

115题Java面试问题和答案之面向对象

- JAVA - 阅2670

抽象和封装是互补的概念。一方面,抽象关注于一个对象的行为。另一方面,封装关注对象行为的实现细节。封装通常是通过隐藏对象内部状态来达到的,所以,可以视作一种提供抽象的策略。

开发人员常遇到的9个java性能调优误区

- JAVA - 阅5620

当说道Java性能调优时直觉通常会误导人。我们需要经验数据和工具来帮助我们具象化和了解平台的特性。 垃圾收集也许提供了这方面最好的例子。GC子系统对于调优和生产数据指导调整有惊人的潜力,但对于生产程序它是很难去不借助工具来让产生的数据有意义。

垃圾收集器Serial 、Parallel、CMS、G1

垃圾收集器Serial 、Parallel、CMS、G1

- JAVA - 阅27814

每个垃圾收集器都有不同的配置参数,可以通过不同的参数来提升性能和降低吞吐量。这些都取决于你的应用需求,不同的对收集方式、可忍受的停顿时间、内存的大小都不一样,所以要根据自身的需求来定制不同的配置参数。

java8中的新特性lambda表达式

- JAVA - 阅3233

Lambda表达式是java8中新增的特性,如果使用过.net framework4.0+的朋友应该很熟悉lambda表达式,lambda表达式可以使代码更加的简洁,或许初次使用你并不能习惯这种匿名的方式来调用,但这确实是一个很好的实践。

一个NIO.2入门,第1部分:异步通道的API

- JAVA - 阅5536

NIO.2的异步通道API提供了方便和标准的方式执行异步操作。它允许应用开发者优雅清爽地使用异步IO来编写程序,而不需要重新定义自己的java线程组,另外可以通过使用底层操作系统上的异步支持把性能进一步提高。像许多JAVA API一样,该异步api所能展现的性能还要取决于操作系统的支持程序。

详解Spring框架的设计理念与设计模式(4)

- JAVA - 阅4355

Spring Aop中Jdk动态代理就是利用代理模式技术实现的。在Spring中除了实现被代理对象的接口外,还会有org.springframework.aop.SpringProxy和org.springframework.aop.framework.Advised 两个接口。

详解Spring框架的设计理念与设计模式(3)

- JAVA - 阅3591

对Spring的Ioc容器来说,主要有这么几个。BeanFactoryPostProcessor,BeanPostProcessor。他们分别是在构建BeanFactory和构建Bean对象时调用。还有就是InitializingBean和DisposableBean 他们分别是在Bean实例创建和销毁时被调用。用户可以实现这些接口中定义的方法,Spring就会在适当的时候调用他们。还有一个是FactoryBean他是个特殊的Bean,这个Bean可以被用户更多的控制.