java基础
文章平均质量分 83
iteye_5347
这个作者很懒,什么都没留下…
展开
-
java List 排序 Collections.sort() 对 List 排序
class User { String name; String age; public User(String name,String age){ this.name=name; this.age=age; } public String getAge() { return age; } public void setAge(String age) { this.age = ag...原创 2012-11-27 09:10:55 · 52 阅读 · 0 评论 -
windows下如何正确使用Jconsole远程连接linux主机上的JVM
CATALINA_OPTS="-Djava.awt.headless=true -Xmx128M -server -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=7091 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management...原创 2014-01-21 13:45:20 · 128 阅读 · 0 评论 -
自旋锁
自旋锁是专为防止多处理器并发而引入的一种锁,它在内核中大量应用于中断处理等部分(对于单处理器来说,防止中断处理中的并发可简单采用关闭中断的方式,即在标志寄存器中关闭/打开中断标志位,不需要自旋锁)。编辑摘要目录[ 隐藏 ]1 概念2 自旋锁-原理3 自旋锁-实例4 初衷4.1 1自旋锁实际上是忙等锁4.2 2 自旋锁可能导致系统死锁5...原创 2014-01-22 09:34:09 · 77 阅读 · 0 评论 -
Java中如何遍历Map对象的4种方法
在Java中如何遍历Map对象How to Iterate Over a Map in Java在java中遍历Map有不少的方法。我们看一下最常用的方法及其优缺点。既然java中的所有map都实现了Map接口,以下方法适用于任何map实现(HashMap, TreeMap, LinkedHashMap, Hashtable, 等等) 方法一 在for-each循环中使用en...原创 2014-01-22 10:56:50 · 71 阅读 · 0 评论 -
NIO写数据到文件
/** * @param file * @param context * @throws Exception */ public static void writeAdd(String file, String context) { FileChannel fc = null; RandomAc...原创 2014-03-06 15:36:41 · 134 阅读 · 0 评论 -
java前后台json转换
http://topcss.iteye.com/blog/1069680http://heisetoufa.iteye.com/blog/1882776 首先下载一个jar包:下载地址:http://code.alibabatech.com/svn/fastjson/repository/com/alibaba/fastjson/1.0.4/fastjson-1.0.4.jar...原创 2014-03-12 14:10:20 · 107 阅读 · 0 评论 -
Spring的InitializingBean和init-method
Spring在设置完一个bean所有的属性后,会检查bean是否实现了InitializingBean接口,如果实现就调用bean的afterPropertiesSet方法。另外,如果bean是单例的,则afterPropertiesSet方法只会被调用一次;否则每次创建bean时afterPropertiesSet方法都会被重新调用.Spring虽然可以通过InitializingBean...原创 2014-03-25 10:52:09 · 60 阅读 · 0 评论 -
找出两个文件夹下不同的文件
1. [代码][Java]代码 01public class NotExsitsByDir {02 03 private static List<String> l1 = new ArrayList<String>();04 05 ...原创 2014-03-25 13:40:19 · 761 阅读 · 0 评论 -
eclipse格式化xml文件
<?xml version="1.0" encoding="UTF-8" standalone="no"?><profiles version="12"><profile kind="CodeFormatterProfile" name="my code formatter" version="12&原创 2014-04-17 16:21:34 · 132 阅读 · 0 评论 -
java程序如何调用Graphviz
。java可以直接调用这个类实现画图功能,但是使用这个类的前提是你的电脑已经装了GraphViz软件,你可以在http://www.graphviz.org/Gallery.php下载windows版本,装完后,找到dot.exe所在的路径,我电脑上的是D:\Program Files\Graphviz2.30\bin\dot.exe,将GraphViz.java中的这一路径改成你电脑上的路...原创 2014-06-06 08:44:01 · 461 阅读 · 0 评论 -
ExecutorService之submit与execute
ExecutorService的submit与execute方法都能执行任务,但在使用过程,发现其对待run方法抛出的异常处理方式不一样。两者执行任务最后都会通过Executor的execute方法来执行,但对于submit,会将runnable物件包装成FutureTask<Object>,其run方法会捕捉被包装的Runnable Object的run方法抛出的Throwa...原创 2014-01-21 09:09:55 · 334 阅读 · 0 评论 -
log中输出异常栈信息
log中输出异常栈信息StackTraceElement[] error = e.getStackTrace(); for (StackTraceElement stackTraceElement : error) { logger.error(stackTraceElement.toString()); ...原创 2014-01-20 15:51:51 · 127 阅读 · 0 评论 -
Java8 Lambda表达式教程
http://blog.csdn.net/ioriogami/article/details/12782141/ 1. 什么是λ表达式 λ表达式本质上是一个匿名方法。让我们来看下面这个例子: public int add(int x, int y) { return x + y; }转成λ表达式后是这个样子: (int x, int...原创 2016-06-21 13:36:40 · 133 阅读 · 0 评论 -
了解CMS(Concurrent Mark-Sweep)垃圾回收器
1.总体介绍:CMS(Concurrent Mark-Sweep)是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器。对于要求服务器响应速度的应用上,这种垃圾回收器非常适合。在启动JVM参数加上-XX:+UseConcMarkSweepGC ,这个参数表示对于老年代的回收采用CMS。CMS采用的基础算法是:标记—清除。2.CMS过程:初始标记(STW initial mark)...原创 2013-12-31 17:40:15 · 64 阅读 · 0 评论 -
JVM优化之压缩普通对象指针(CompressedOops)
通常64位JVM消耗的内存会比32位的大1.5倍,这是因为对象指针在64位架构下,长度会翻倍(更宽的寻址)。对于那些将要从32位平台移植到64位的应用来说,平白无辜多了1/2的内存占用,这是开发者不愿意看到的。幸运的是,从JDK 1.6 update14开始,64 bit JVM正式支持了 -XX:+UseCompressedOops 这个可以压缩指针,起到节约内存占用的新参数。 什么是...原创 2014-01-03 14:23:50 · 236 阅读 · 0 评论 -
一次Java垃圾收集调优实战
转自:http://calvin.iteye.com/blog/212967 1 资料JDK5.0垃圾收集优化之--Don't Pause(花钱的年华) 编写对GC友好,又不泄漏的代码(花钱的年华) JVM调优总结 JDK 6所有选项及默认值 2 GC日志打印 GC调优是个很实验很伽利略的活儿,GC日志是先决的数据参考和最终验证:...原创 2014-01-03 15:08:43 · 60 阅读 · 0 评论 -
jvm参数调优
PE2950 8G 双cpu,每cpu四核,raid1,两个tomcat6.0.14 Java代码 JAVA_OPTS='-server -Xms2560m -Xmx2560m -Xmn768m -XX:PermSize=128m -XX:MaxPermSize=256m <strong>-Xss256k </strong> -X...原创 2014-01-03 15:23:28 · 72 阅读 · 0 评论 -
redis使用pipeline批量插入hash数据
import org.apache.commons.lang.math.RandomUtils; import redis.clients.jedis.Jedis;import redis.clients.jedis.Pipeline; public class RedisEasyTest { private static Jedis jedis = new Jedi...原创 2014-01-13 17:11:18 · 301 阅读 · 0 评论 -
java并发包CyclicBarrier同步器
CyclicBarrier 支持一个可选的 Runnable 命令,在一组线程中的最后一个线程到达之后(但在释放所有线程之前),该命令只在每个屏障点运行一次。若在继续所有参与线程之前更新共享状态,此屏障操作 很有用。示例用法:下面是一个在并行分解设计中使用 barrier 的例子: class Solver { final int N; final float[][] data; ...原创 2014-01-15 13:26:15 · 121 阅读 · 0 评论 -
Spring mvc 3 在controller和视图之间传递参数
Spring MVC3在controller和视图之间传递参数的办法: 一, 从controller往视图传递值,controller---->视图 1)简单类型,如int, String,直接写在controller办法的参数里,是无法传递到视图页面上的(经测试)。 (而用@RequestParam("name")注解,可以从视图上,或地址中加?name=***传递到contr...原创 2014-01-15 17:19:50 · 256 阅读 · 0 评论 -
Linux下Mysql 5.6.21 tar包安装实践
http://blog.csdn.net/zhanngle/article/details/41042631 环境:centos 6.4 x64先下载mysql安装包打开 http://dev.mysql.com/downloads/mysql/ 选择 linux - Generic再选择下载完毕后,得到安装包 mysql-5.6.21-linux-glib...原创 2016-07-25 14:58:36 · 231 阅读 · 0 评论 -
jstat用法详解
. jstat -gc pid 可以显示gc的信息,查看gc的次数,及时间。 其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。 2.jstat -gccapacity pid 可以显示,VM内存中三代(young,old,per...原创 2014-06-23 09:09:22 · 115 阅读 · 0 评论 -
Jackson 框架,轻易转换JSON
Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。前面有介绍过json-lib这个框架,在线博文:http://www.cnblogs.com/hoojo/archive/2011/04/21/2023805.html相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也要相对高些。而且Ja...原创 2014-07-02 17:28:31 · 111 阅读 · 0 评论 -
How to Analyze Java Thread Dumps
The Performance Zone is supported by New Relic and AppDynamics. Both are leaders in the APM space with high-profile customers and massive cost reductions for those users.The content...原创 2014-08-13 17:33:27 · 283 阅读 · 0 评论 -
Java的多线程编程模型5--Java中的CAS理论
CAS,compare and swap的缩写,中文翻译成比较并交换。我们都知道,在java语言之前,并发就已经广泛存在并在服务器领域得到了大量的应用。所以硬件厂商老早就在芯片中加入了大量直至并发操作的原语,从而在硬件层面提升效率。在intel的CPU中,使用cmpxchg指令。在Java发展初期,java语言是不能够利用硬件提供的这些便利来提升系统的性能的。而随着java不断的发展,J...原创 2014-08-18 14:02:22 · 73 阅读 · 0 评论 -
Java 8那些被冷落的新特性
lambda表达式,lambda表达式,还是lambda表达式。一提到Java 8就只能听到这个,但这不过是其中的一个新功能而已,Java 8还有许多新的特性——有一些功能强大的新类或者新的用法,还有一些功能则是早就应该加到Java里了。这里我准备介绍它的10个我个人认为非常值得了解的新特性。总会有一款适合你的,开始来看下吧。default方法这是Java语言的一个新特性,现在接...原创 2014-08-21 16:43:06 · 79 阅读 · 0 评论 -
mybatis防止sql注入
转自:http://cs-css.iteye.com/blog/1752680sql注入大家都不陌生,是一种常见的攻击方式,攻击者在界面的表单信息或url上输入一些奇怪的sql片段,例如“or ‘1’=’1’”这样的语句,有可能入侵参数校验不足的应用程序。所以在我们的应用中需要做一些工作,来防备这样的攻击方式。在一些安全性很高的应用中,比如银行软件,经常使用将sql语句全部替换为存储过程这...原创 2014-08-25 09:35:14 · 89 阅读 · 0 评论 -
Java实现AES256加解密
一.代码package com.handler;import java.io.UnsupportedEncodingException;import java.security.Key; import java.security.Security;import javax.crypto.Cipher; import javax.crypto.KeyGenerator;...原创 2014-10-24 14:51:54 · 410 阅读 · 0 评论 -
maven用途、核心概念、用法、常用参数和命令、扩展
转自:http://trinea.iteye.com/blog/1290898 最新内容见:Maven介绍,包括作用、核心概念、用法、常用命令、扩展及配置 本文由浅入深,主要介绍maven的用途、核心概念(Pom、Repositories、Artifact、Build Lifecycle、Goal)介绍、用法(Archetype意义及创建各种项目)、maven常用参数和命令...原创 2014-12-12 13:48:20 · 76 阅读 · 0 评论 -
Kryo 序列化
磁盘序列化Kryo kryo = new Kryo();// ...Output output = new Output(new FileOutputStream("file.bin"));SomeClass someObject = ...kryo.writeObject(output, someObject);output.close();// ......原创 2014-12-23 13:52:38 · 87 阅读 · 0 评论 -
spring3中使用@value注解获取属性值
在spring 3.0中,可以通过使用@value,对一些如xxx.properties文件中的文件,进行键值对的注入,例子如下:1.首先在applicationContext.xml中加入: Xml代码 <beans xmlns="http://www.springframework.org/schema/beans" xmlns...原创 2015-02-16 16:50:56 · 208 阅读 · 0 评论 -
java读取jar包中的资源文件
一般我们在编写完Java程序中获取资源路径,在开发和调试期(未打包前),是没有问题的,但在打包后,由于资源(图片、配置文件等)都将打包到jar文件中,由于System中的“user.dir”属性发生了变化,会造成用绝对路径的方式无法找到jar文件中的资源文件。因为程序载入图片或文本文件时,使用以当前工作路径为基准的方式来指定文件和路径,而资源文件打在jar包中后程序无法通过绝对路径找到。因此可...原创 2015-02-17 11:01:14 · 113 阅读 · 0 评论 -
转:CMS gc实践总结
首先感谢阿宝同学的帮助,我才对这个gc算法的调整有了一定的认识,而不是停留在过去仅仅了解的阶段。在读过sun的文档和跟阿宝讨论之后,做个小小的总结,如果有谬误,敬请指正。 CMS,全称Concurrent Low Pause Collector,是jdk1.4后期版本开始引入的新gc算法,在jdk5和jdk6中得到了进一步改进,它的主要适合场景是对响应时间的重要性需求 大于对吞吐量的要求,...原创 2014-08-13 15:47:09 · 68 阅读 · 0 评论 -
[转载]触发Full GC执行的情况
除直接调用System.gc外,触发Full GC执行的情况有如下四种。1. 旧生代空间不足旧生代空间只有在新生代对象转入及创建为大对象、大数组时才会出现不足的现象,当执行Full GC后空间仍然不足,则抛出如下错误:java.lang.OutOfMemoryError: Java heap space 为避免以上两种状况引起的Full GC,调优时应尽量做到让对象在Minor ...原创 2014-08-13 15:14:12 · 67 阅读 · 0 评论 -
Quartz表达式
archie2010$要有勇气去开始Quartz表达式“*”字符代表所有可能的值因此,“*”在子表达式(月)里表示每个月的含义,“*”在子表达式(天(星期))表示星期的每一天“/”字符用来指定数值的增量例如:在子表达式(分钟)里的“0/15”表示从第0分钟开始,每15分钟 在子表达式(分钟)里的“3/20”表示从第3分钟开始,每20分钟(它和“3,...原创 2013-03-08 14:05:47 · 57 阅读 · 0 评论 -
Maven类包冲突终极解决小技若干
那句话怎么讲来着的... 引用如果你爱他,就请让他用Maven,因为那里是天堂,如果你恨他,就请让他用Maven,因为那里是地狱.Maven对于新手来说是《步步惊心》,因为它包罗万象,博大精深,因为当你初来乍到时,你就像一个进入森林的陌生访客一样迷茫。 Maven对于老手来说是《真爱配方》,因为它无所不能,利如刀锋,使用Maven做开发,如饮美酒如悦美人。 Maven对于新手来说,最...原创 2016-08-19 14:34:21 · 121 阅读 · 0 评论 -
spring 容器初始化 bean 和销毁三种方式
关于在spring 容器初始化 bean 和销毁前所做的操作定义方式有三种:第一种:通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作第二种是:通过 在xml中定义init-method 和 destory-method方法第三种是: 通过bean实现InitializingBean和 DisposableBean接口...原创 2014-07-09 13:47:29 · 685 阅读 · 0 评论 -
Java 反编译利器 JD-GUI/Jad/JadClipse
当你苦于没有源码的时候,你可以通过大家熟知的jad命令反编译class来获得源码。更加简便的是你可以通过这个法国网站所开发的JD-GUI跟JD-Eclipse(老官网: http://java.decompiler.free.fr/, 貌似已经无法访问了)或者 新网站 http://jd.benow.ca/,可以帮助你快速地反编译多个class,甚至整个jar。这些工具都是免费,当然对于个人用户...原创 2014-07-10 13:07:29 · 152 阅读 · 0 评论 -
spring solr
http://www.petrikainulainen.net/programming/solr/spring-data-solr-tutorial-configuration/In the previous part of my Spring Data Solr tutorial, we learned that Solr provides a REST-like HTTP API whi...原创 2014-07-10 16:04:16 · 83 阅读 · 0 评论 -
classloader类加载器
基础概念编辑Classloader 类加载器,用来加载 Java 类到 Java 虚拟机中。与普通程序不同的是。Java程序(class文件)并不是本地的可执行程序。当运行Java程序时,首先运行JVM(Java虚拟机),然后再把Java class加载到JVM里头运行,负责加载Java class的这部分就叫做Class Loader。JVM本身包含了一个ClassLoader称为...原创 2014-07-31 09:38:46 · 79 阅读 · 0 评论