
Java
文章平均质量分 68
玄冬Wong
别把自己当回事儿,我还是一只菜鸟……
展开
-
使用svnkit api,纯java操作svn,实现svn提交,更新等操作
原文:http://blog.youkuaiyun.com/hardwin/article/details/7963318 import java.io.File; import org.apache.log4j.Logger; import org.tmatesoft.svn.core.SVNCommitInfo; import org.tmatesoft.svn.c...原创 2014-12-04 17:49:24 · 793 阅读 · 0 评论 -
slf4j的log级别
原文:http://www.slf4j.org/apidocs/org/apache/commons/logging/Log.htmlThe six logging levels used by Log are (in order):trace (the least serious)debuginfowarnerrorfatal (the most serious)...原创 2013-06-20 23:40:11 · 609 阅读 · 0 评论 -
ReentrantLock的条件锁Condition用法
原文:http://docs.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/locks/Condition.html这个例子很好的解释了ReentrantLock的条件锁-Condition的用法: 看完API文档中这个例子后,我很疑惑:如果线程A进入了take方法,并拿到了Lock的拥有权,同事阻塞在了await()方...原创 2013-06-20 16:08:47 · 816 阅读 · 0 评论 -
maven构建编译protobuf 2.5.0 jar
原文:http://luyuwww.iteye.com/blog/1840708本机是windows环境1. 下载 protobuf最新版本:https://code.google.com/p/protobuf/downloads/detail?name=protobuf-2.5.0.tar.gz2. 解压后发现没有包.java下面只有一个POM.xml. 用maven吧.(mvn3...原创 2013-06-19 10:56:46 · 484 阅读 · 0 评论 -
深度解析Java内存的原型
http://java.chinaitlab.com/advance/889560_2.html 摘要:本文主要通过分析Java内存分配的栈、堆以以及常量池详细的讲解了其的工作原理。栈的优势是,存取速度比堆要快,仅次于寄存器,栈数据可以共享。本文主要通过分析Java内存分配的栈、堆以以及常量池详细的讲解了其的工作原理。一、Java虚拟机内存原型寄存器:我们在程序中无法...原创 2013-06-03 22:32:50 · 85 阅读 · 0 评论 -
ConcurrentHashMap使用注意事项
最近发现内存中WriteThroughEntry数量突然很巨大,经过反复分析查找,发现是由于遍历ConcurrentHashMap不当导致的,遍历时尽量使用values(),使用ConcurrentHashMap的entrySet()遍历会产生大量WriteThroughEntry对象,从源码中可以看到ConcurrentHashMap中的EntryIterator对象重载的next()方法里每...原创 2013-05-31 22:04:04 · 353 阅读 · 0 评论 -
Java编程中“为了性能”需做的26件事
原文:http://www.youkuaiyun.com/article/2012-06-01/2806249最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。下面是参考网络资源总结的一些在JAVA编程中尽可能要做到的一些地方。1.尽量在合适的场合使用单例使用单例可以减轻加载的...原创 2013-04-24 22:35:38 · 107 阅读 · 0 评论 -
在循环内Throwable.getMessage()第二次总是返回null的解决方法
最近有多次发现项目的log日志中有很多奇怪的异常:Java ArrayIndexOutOfBoundsException: null一般异常信息应该是:Java ArrayIndexOutOfBoundsException: -1 开始没太注意,后来多次碰到后觉得这样下去不是办法,上线后还出现这种问题那就麻烦大了,所以决定今天一定要解决掉。 为什么会有null...2013-04-19 18:04:14 · 913 阅读 · 0 评论 -
心得总结:Java性能优化技巧集锦
转至:http://pcedu.pconline.com.cn/empolder/gj/java/0605/793308.html一、通用篇 “通用篇”讨论的问题适合于大多数Java应用。 1.1 不用new关键词创建类的实例 用new关键词创建类的实例时,构造函数链中的所有构造函数都会被自动调用。但如果一个对象实现了Cloneable接口,我们可以调用它的clone()方法。...原创 2013-04-10 17:43:30 · 92 阅读 · 0 评论 -
Java常量内联的编译优化条件
原文:http://stackoverflow.com/questions/9082971/java-compile-time-constants-and-variables Compile time constant must be:declared finalprimitive or Stringinitialized within declarationinit...原创 2013-04-10 15:49:45 · 529 阅读 · 0 评论 -
ToolProvider.getSystemJavaCompiler()返回 NullPointerException
原因:这事因为启动java的目录默认是%JAVA_HOME%/jre/bin/java.exe,这个目录的lib目录为%JAVA_HOME%/jre/lib,里面没有tools.jar 解决方法:要么从%JAVA_HOME%/lib下面拷贝tools.jar到jre的lib目录下,要么指定java.exe的路径,例如:"D:\Program Files"\Java\jdk1.7.0_1...原创 2013-03-20 13:41:42 · 260 阅读 · 0 评论 -
深入研究java.lang.ThreadLocal类
原文:http://lavasoft.blog.51cto.com/62575/51926 一、概述 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常原创 2016-01-25 16:28:19 · 183 阅读 · 0 评论 -
Java nio epoll mina
http://blogs.sun.com/alanb/entry/epoll To poll or epoll: that is the question: One of the updates in build 59 of Mustang (JavaTM SE 6) is that the New I/O Selector implementation will use the epoll ev原创 2016-01-25 16:32:09 · 274 阅读 · 0 评论 -
Log4J与LogBack的性能比较
单线程执行100w次循环写入长度92的字符串。Log4J耗时 52797ms;LogBack耗时10812ms。系统配置如下:windows server 2003 sp2 x64企业版;2.6G双核;内存4G 管理员在2009年8月13日编辑了该文章文章。 --> -->原创 2016-01-25 16:38:21 · 828 阅读 · 0 评论 -
Java socket示例(demo)TCP/IP
原文:http://www.360doc.com/content/12/1116/11/10800551_248164901.shtml一些概念: 通信信道(communication channel):将字节序列从一个主机传输到另一个主机的一种手段,可能是有线电缆,如以太网(Ethernet),也可能是无线的,如WiFi,或是其他方式的连接。 信息(information)是指由程序创建和解释的原创 2016-01-25 16:42:26 · 3201 阅读 · 0 评论 -
JVM学习笔记十一 之 编译期优化和运行期优化
原文:http://yueyemaitian.iteye.com/blog/1185297一、概述 语言要在虚拟机上执行,必须先翻译成机器代码,翻译的方式有两种,一种是编译期静态翻译为机器码,一种是编译器翻译为某种表示,运行期在翻译成机器码来执行。 编译器可分为多种类型,1、编译器把java源文件编译成class文件的前端编译器,如javac和eclipse的jdt增量编译器;2、运行期把.cla原创 2016-01-25 16:43:03 · 426 阅读 · 0 评论 -
JNI的类路径问题
原文:http://hi.baidu.com/doyee/blog/item/2b980146e6d861006a63e540.html假设工程目录下有bin文件夹,bin存放编译好的class文件;在bin目录下,E:\eclipse\workspace\testjni\bin>javah -classpath . -jni com.jni.Calculator然后在转载 2016-01-30 15:55:32 · 644 阅读 · 0 评论 -
阻塞状态中的线程如何正常终止
项目刚刚遇到一个这样的问题:在一个死循环中获取和处理一个队列(一个LinkedList),当空闲时,线程会阻塞在从LinkedList获取列表的地方(在一个Get方法中,使用ReentrantLock锁,如果当前LinkedList的size为0,则使用Condition的await()方法,让当前线程阻塞),此时想让该线程终止时,我使用了Thread.join(),结果虚拟机dump抛出...原创 2013-06-21 01:00:41 · 1258 阅读 · 0 评论 -
调试JNI DLL的两种方式
一,附加方式1,eclipse链接库引用到vs的debug目录下 ,例如:System.load("E:\\vcproject\\debug\\test.dll"); 2,在C++的被调用方法中写入一个死循环。 3,eclipse 运行java程序,调用dll库方法,这是就卡在DLL内部的死循环中 4,在C++的死循环内设置断点,VS中debug属性命令里面:E:...2013-06-22 23:13:18 · 274 阅读 · 0 评论 -
Java 垃圾回收策略调优,实践篇
原文:http://www.douban.com/group/topic/4450520/JVM参数调优是一个很头痛的问题,可能和应用有关系,下面是本人一些调优的实践经验,希望对读者能有帮助,环境LinuxAS4,resin2.1.17,JDK6.0,2CPU,4G内存,dell2950服务器,网站是shedewang.com,新手可能觉得这文章没有用。 一:串行垃圾回收,也就是默认配置,...原创 2013-01-31 13:59:39 · 85 阅读 · 0 评论 -
Tomcat7不支持EL表达式的问题
原文:http://my.oschina.net/7shell/blog/57349 tomcat 7对EL表达式的语法要求比较严格,例如"${new.title}"因包含关键字new就会导致解析出错。\ 这个时候为我们可以修改配置文件,忽略关键词的设置: 修改tomcat属性,忽略对EL表达式的关键字检查。修改$CATALINA_BASE/conf/catali...原创 2014-11-21 15:02:06 · 726 阅读 · 0 评论 -
slf4j+logback多个日志输出配置实例
logback.xmlp配置:<?xml version="1.0" encoding="UTF-8"?><configuration> <jmxConfigurator/> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender原创 2014-11-17 22:39:47 · 489 阅读 · 0 评论 -
JVM的DirectMemory设置
原文:http://dongliu.net/post/504141 几台服务器的JVM占用内存总是持续增长,大大超过-Xmx设定的值,服务器物理内存几乎被耗尽。使用jmap查看JVM的内存使用,发现jvm的堆大小完全在-Xmx参数设定的范围之内,那问题只能处在别的地方了。JVM除了堆内存之外,就只有栈内存和DirectMemory了。栈空间每个线程是固定的,线程数也没可能多到可以...原创 2015-08-20 10:02:43 · 293 阅读 · 0 评论 -
org.dom4j.DocumentException: Invalid byte 2 of 2-byte UTF-8 sequence. Nested exc
dom4j加载XML文件时抛异常:org.dom4j.DocumentException: Invalid byte 2 of 2-byte UTF-8 sequence. Nested exception: Invalid byte 原因:XML文件包含汉字解决方式:将<?xml version="1.0" encoding="UTF8"?>改成:&...原创 2014-09-30 17:55:35 · 574 阅读 · 0 评论 -
java中的无锁队列:ConcurrentLinkedQueue
java 1.5提供了一种无锁队列(wait-free/lock-free)ConcurrentLinkedQueue,可支持多个生产者多个消费者线程的环境:http://docs.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/ConcurrentLinkedQueue.html 下面这个是网上别人自己实现的一种无锁算法...原创 2016-04-19 09:54:33 · 790 阅读 · 0 评论 -
Request Header简介
当一个客户端(通常是浏览器)向Web服务器发送一个请求是,它要发送一个请求的命令行,一般是GET或POST命令,当发送POST命令时,它还必须向服务器发送一个叫“Content-Length”的请求头(Request Header) 用以指明请求数据的长度,除了Content-Length之外,它还可以向服务器发送其它一些Headers,如: Accept ...原创 2015-05-23 15:51:15 · 254 阅读 · 0 评论 -
深入理解HTTP Session
原文:http://lavasoft.blog.51cto.com/62575/275589/ session在web开发中是一个非常重要的概念,这个概念很抽象,很难定义,也是最让人迷惑的一个名词,也是最多被滥用的名字之一,在不同的场合,session一次的含义也很不相同。这里只探讨HTTP Session。 为了说明问题,这里基于Java Servlet理解Session的概念...原创 2015-05-18 15:57:12 · 112 阅读 · 0 评论 -
6款Java转C#的最佳工具
原文:http://www.youkuaiyun.com/article/2014-03-28/2819021 1. Sharpen 2. Java to C# Converter 3. Octopus 4. XES – Java To C# 5. Java Language Conversion Assistant 2.0 6. Varycode ...原创 2015-03-12 22:06:21 · 330 阅读 · 0 评论 -
设置Tomcat的默认编码格式为UTF8
Just create a setenv.bat file inside the TOMCAT/bin directory with the following contents:set "JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF8" 如果是linux,setenv.sh的内容如下:set "JAVA_OPTS=$JAVA_OPTS -...原创 2014-03-21 17:34:06 · 288 阅读 · 0 评论 -
Java性能优化技巧
原文:http://blog.youkuaiyun.com/kome2000/article/details/5537591Java性能优化技巧参考了些书籍,网络资源整理出来,适合于大多数Java应用在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身。养成良好的编码习惯非常重要,能够显著地提升程序性能。1.尽量使用final修饰符。带有final修饰符的类是不可派生的。在JAVA核...原创 2014-03-10 16:54:32 · 80 阅读 · 0 评论 -
JNI和JNA性能比较
环境:C++回调Java方法,单线程,10,000,000次循环调用JNI:924msJNA:129984ms原创 2014-07-22 14:45:01 · 1602 阅读 · 0 评论 -
集成iBATIS3和bonecp
原文:http://blog.youkuaiyun.com/hshxf/article/details/5886715 bonecp是一款开源的、高效的数据库连接池组件,它号称是现在最快的连接池组件,官网上称是dbcp的25倍,但是iBATIS3并没有为它开发类厂,iBATIS3只支持3中类型的类厂,分别是UNPOOLED,POOLED和JNDI,要想集成只能自己开发了,自己开发也不难,只要实现D...原创 2014-05-22 00:14:03 · 80 阅读 · 0 评论 -
Javah生成JNI头文件
Javah生成JNI头文件假设工程目录下有bin文件夹,bin存放编译好的class文件;在bin目录下,C:/XX/bin/:javah -classpath . -jni com.sec.secure.hdsk.srvc.halRespC2J原创 2013-02-20 21:36:29 · 108 阅读 · 0 评论 -
JDK的native2ascii命令使用
转码:native2ascii src.properties dest.properties 反转码:native2ascii -reverse src.properties dest.properties 详细使用说明:http://blog.youkuaiyun.com/generalyy0/article/details/7309271...原创 2014-05-05 23:01:26 · 176 阅读 · 0 评论 -
jstack用法(java线程堆栈dump)
如果是linux用户,切换到启动java程序的用户下,然后输入:jstack pid >> 文件名例如:jstack 34323 >> 20131210.dump原创 2013-12-10 11:54:36 · 482 阅读 · 0 评论 -
[logback]程序退出时flush log
原文:http://stackoverflow.com/questions/3678755/do-i-need-to-flush-events-when-shutting-down-using-logbackHere's a simple approach:import org.slf4j.ILoggerFactory;import org.slf4j.Logger;import...原创 2013-12-06 05:26:03 · 436 阅读 · 0 评论 -
JAVA使用EPoll来进行NIO处理的方法
JDK 6.0 以及JDK 5.0 update 9 的 nio支持epoll (仅限 Linux 系统 ),对并发idle connection会有大幅度的性能提升,这就是很多网络服务器应用程序需要的。启用的方法如下:-Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.EPollSelectorProvider例如在原创 2016-01-30 15:48:49 · 1822 阅读 · 0 评论 -
Function importPackage must be called with a package; had "[JavaClass java.util.ArrayList]"
Java调用JavaScript时,若出现这个异常信息,是由于javascript文件中到导包不正确,将导包:importPackage(java.util.ArrayList);改成 importPackage(java.util); Function importPackage must be called with a package; had "[JavaClass jav原创 2016-01-30 15:44:00 · 1090 阅读 · 0 评论 -
String literal is not properly closed by
String literal is not properly closed by a double-quote 刚刚环境出点点问题,当字符串中含有特定的汉字时(比如“王”),就莫名奇妙报编译错误:java: String literal is not properly closed by a double-quote 网上找了半天,每周结果,删掉IntelliJ IDEA原创 2016-01-25 16:45:54 · 2107 阅读 · 0 评论 -
【转】[Java]Stack栈和Heap堆的区别(终结篇)
原文:http://android.blog.51cto.com/268543/50100首先分清楚Stack,Heap的中文翻译:Stack—栈,Heap—堆。 在中文里,Stack可以翻译为“堆栈”,所以我直接查找了计算机术语里面堆和栈开头的词语: 堆存储: heapstorage 堆存储分配: heapstorage allocation 堆存储管理: he原创 2016-01-25 16:28:59 · 518 阅读 · 0 评论