![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
preterhuman_peak
这个作者很懒,什么都没留下…
展开
-
JAVA线程池的原理及几类线程池的介绍
刚刚研究了一下线程池,如果有不足之处,请大家不吝赐教,大家共同学习、共同交流。在什么情况下使用线程池? 1.单个任务处理的时间比较短 2.将需处理的任务的数量大 使用线程池的好处: 1.减少在创建和销毁线程上所花的时间以及系统资源的开销 2.如不使用线程池,有可能造成系统创建大量线程而导致消耗完系统内存以及”过度切换”。原创 2012-05-13 09:24:32 · 2110 阅读 · 1 评论 -
Java的GC机制
一直讲java和c#可以自动垃圾回收,这点比C++方便,可以省去写析构的麻烦,但内部机制不熟习,上网查了下,大致算法机制如下:跟大家分享下。1.JVM的gc概述gc即垃圾收集机制是指jvm用于释放那些不再使用的对象所占用的内存。java语言并不要求jvm有gc,也没有规定gc如何工作。不过常用的jvm都有gc,而且大多数gc都使用类似的算法管理内存和执行收集操作。转载 2012-03-08 06:10:27 · 1646 阅读 · 0 评论 -
Java性能小技巧
局部决定整体。一个应用的整体性能取决于每个组件的性能。下面是一些帮助你提高应用性能的Java编程技巧:编程技巧原因及策略避免重复创建对象为什么:更少的对象会需要更少的垃圾回收使用的空间越少,应用的性能越好怎么做:重复利用一个对象,而不是在每次需要的时候都去创建一个功能一样的对象(这样做)原创 2014-11-10 13:17:41 · 1263 阅读 · 1 评论 -
JVM的重排序
重排序通常是编译器或运行时环境为了优化程序性能而采取的对指令进行重新排序执行的一种手段。重排序分为两类:编译期重排序和运行期重排序,分别对应编译时和运行时环境。在并发程序中,程序员会特别关注不同进程或线程之间的数据同步,特别是多个线程同时修改同一变量时,必须采取可靠的同步或其它措施保障数据被正确地修改,这里的一条重要原则是:不要假设指令执行的顺序,你无法预知不同线程之间的指令会以何种顺序执原创 2015-01-05 11:54:14 · 935 阅读 · 0 评论 -
jstat分析JVM内存
出处:http://liulinxia02.blog.163.com/blog/static/268687720117251501253/Jstat 是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的原创 2015-02-09 19:16:41 · 25272 阅读 · 0 评论 -
java 利用 poi 生成 Excel文件的例子
在用java 写数据库应用的时候, 通常会生成各种报表,而这些报表可能会被导出为各种格式的文件,比如Excel文档,pdf 文档等等. 今天先做了一个生成Excel 文档的例子,主要解决以下问题:1. 生成 Excel 文档.2. 保护生成Excel文档,设置密码访问.3. 自动对生成的Excel 文档第一行标题栏设置成filter 过滤形式, 方便用户使用.用 apache原创 2014-10-30 10:12:40 · 11550 阅读 · 1 评论 -
Spring中的定时调度(Scheduling)和线程池(Thread Pooling)
简介Spring包含了对定时调度服务的内置支持类。当前,Spring支持从JDK1.3开始内置的Timer类和Quartz Scheduler(http://www.opensymphony.com/quartz/)。二者都可以通过FactoryBean,分别指向Timer或Trigger实例的引用进行配置。更进一步,有个对Quartz Scheduler和Timer都有效的工具类原创 2014-11-14 14:34:51 · 25631 阅读 · 0 评论 -
Java类代码块执行顺序
下面通过一个例子来说明java类中不同代码块的执行顺序.class B {//静态变量 static int a = 0;//非静态代码块 { System.out.println("B.scope is running"); a = 10 ; }//静态代转载 2012-04-26 22:41:08 · 12363 阅读 · 3 评论 -
如何估算内存消耗
Performance Zone是由New Relic和AppDynamics支持的。New Relic和AppDynamics作为APM领域的领导者,有着备受瞩目的用户并为用户消减大量成本。这个故事至少可以追溯到十年前,当我第一次接触到PHB,遇到了这样一个问题——“为了产品部署我们应该购买多大的服务器”。这个崭新的系统上线已经九个月了。显然公司已经承诺提供整套的解决方案,包括硬件。原创 2014-11-10 13:16:34 · 2655 阅读 · 0 评论 -
java深度复制和浅度复制
关键字: java 潜拷贝和深拷贝 .java里的clone分为: A:浅复制(浅克隆): 浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。 b:深复制(深克隆):深复制把要复制的对象所引用的对象都复制了一遍。 Java中对象的克隆,为了获取对象的一份拷贝,我们可以利用Object类的clone()方法。必须要遵循下面三点 1.在派生类中覆盖基类的clone()方法,并声明为p原创 2012-07-05 19:01:53 · 1359 阅读 · 0 评论 -
MyEclipse快捷键设置
一般默认情况下,Eclipse ,MyEclipse 的代码提示功能是比Microsoft Visual Studio的差很多的,主要是Eclipse ,MyEclipse本身有很多选项是默认关闭的,要开发者自己去手动配置。如果开发者不清楚的话,就不知道Eclipse ,MyEclipse的代码提示功能一样能像Microsoft Visual Studio的代码提 示功能一样强大。先举原创 2012-06-20 19:57:46 · 2048 阅读 · 1 评论 -
Tomcat 端口变更失效的问题的解决
今天在服务器上部署了两个Tomcat。于是将其中一个的server.xml中的8080端口改成了8081。启动tomcat,端口居然还是8080。郁闷。习惯性的Google了下。发现别人也遇见了同样的问题:tomcat 修改端口无效 [问题点数:40分,无满意结帖,结帖人shenglan8] http://bbs.csdn.net/topics/360265129后来,在终端下echo原创 2014-12-08 14:36:54 · 7880 阅读 · 1 评论 -
JVM的重排序
重排序通常是编译器或运行时环境为了优化程序性能而采取的对指令进行重新排序执行的一种手段。重排序分为两类:编译期重排序和运行期重排序,分别对应编译时和运行时环境。在并发程序中,程序员会特别关注不同进程或线程之间的数据同步,特别是多个线程同时修改同一变量时,必须采取可靠的同步或其它措施保障数据被正确地修改,这里的一条重要原则是:不要假设指令执行的顺序,你无法预知不同线程之间的指令会以何种顺序执原创 2014-11-10 13:16:23 · 1086 阅读 · 1 评论 -
ECLIPSE、INTELLIJ IDEA格式化统一ECLIPSE CODE FORMATTER
Eclipse、Intellij idea格式化结果不一样,导致长时间都是用两个开发工具,idea开发eclipse进行格式化。但是现在这个问题可以解决了。使用Eclipse Code Formatter。具体的插件地址:http://plugins.jetbrains.com/plugin/6546?pr=idea&offset=15&max=15#comments_panInt原创 2015-05-14 13:47:31 · 36621 阅读 · 2 评论