Java
文章平均质量分 53
powerfulzyh
有志者事竟成,真诚,宽容
展开
-
spring-boot-devtools引发的类加载器问题
问题描述最近在使用spring-boot开发系统,发现在某种情况下一些数据库操作会报异常,是hibernate报出来的。(在IntellijIDEA中启动程序)nested exception is org.hibernate.property.access.spi.PropertyAccessException: Error accessing field [private java.lang.Long xxx.BaseEntity.id] by reflection for persisten原创 2021-02-28 21:11:05 · 3644 阅读 · 0 评论 -
jvm命令行参数大全
查询最全的jvm命令行参数说明官方网站(oracle)第三方网站使用man帮助说明java(OpenJDK)启动的命令行参数,有上千个之多,随着jdk的快速更新,还在增加,也有些变更或删除。但从java --help (java --help-extra)中得到的参数说明有限。本文提供了几种不同的查询最全命令行参数方法,供大家参考使用。官方网站(oracle)在系统下找到java 安装目录...原创 2020-03-22 23:13:22 · 1533 阅读 · 0 评论 -
Intellij IDEA中Handy Export Jar插件支持从local changes导出jar
周末抽时间升级了Handy Export Jar插件。新功能,支持从Local Changes中导出jar包,这样不用一个一个的选择文件导出。具体操作与IDEA中既有的create patch功能一样。截图如下。如果已经升级,直接在settings->plugin中升级 从idea中直接安装 文件菜单,settings,plugins,从marketplace中搜索handy e...原创 2020-02-25 21:34:41 · 2118 阅读 · 3 评论 -
JVM启用JMX服务选项
要在远程服务器上的JVM启用JMX(Java Management Extensions)参数很简单,但也需要注意的地方:-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=7091 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.原创 2013-12-22 23:40:31 · 11876 阅读 · 1 评论 -
Java中的字节对齐方式
说到Java的字节对齐方式(ByteOrder),包括两个层面的解释。一是操作系统层次(或说CPU层次),这个要看是何种OS了,可以使用java.nio.ByteOrder.nativeOrder();方法取得。返回值为:LITTLE_ENDIAN或BIG_ENDIAN。大部分系统为LITTLE_ENDIAN。另外一个是Java层次,JVM使用了BIG_ENDIAN方式,即数据原创 2013-12-21 22:36:55 · 7515 阅读 · 0 评论 -
看看goolge的Java Code Style是否有可借鉴的地方
每个Java开发团队都有自己的代码风格,各种IDE也有默认或推荐风格,可以看一看Google的code style:http://google-styleguide.googlecode.com/svn/trunk/javaguide.html原创 2014-01-01 22:18:54 · 2550 阅读 · 0 评论 -
Java 8: 从永久代(PermGen)到元空间(Metaspace)
As you may be aware, the JDK 8 Early Access is now available for download. This allows Java developers to experiment with some of the new language and runtime features of Java 8. One of these featur翻译 2013-12-14 18:27:57 · 51700 阅读 · 6 评论 -
Java1.7各种GC均会对PermGen进行回收
测试在JDK1.7u45 server版下,各种垃圾回收器均会对PermGen进行回收。测试的回收器包括:默认垃圾回收器(Parallel GC)-XX:+UseConcMarkSweepGC-XX:+UseG1GCPermGen中对象可回收的条件是,ClassLoader可以被回收,其下的所有加载过的没有原创 2013-12-10 09:06:16 · 4603 阅读 · 0 评论 -
JVM 基础知识(GC)
几年前写过一篇关于JVM调优的文章,前段时间拿出来看了看,又添加了一些东西。突然发现,基础真的很重要。学习的过程是一个由表及里,再由里及表的过程,所谓的“温故而知新”。而真正能走完这个轮回的人,也就能称为大牛或专家了。这个过程可能来来回回,这就是所谓“螺旋上升”,而每一次轮回都有新的发现。 这回添加的东西主要集中在基础的一些问题上,还有一些这两年思考的问题。这些问题可能平时我们不会转载 2013-12-10 00:16:28 · 12552 阅读 · 6 评论 -
令人惊讶!Java是最快的服务器端Web应用开发语言
令人惊讶!Java是最快的服务器端Web应用开发语言看一看Oracle持续地推动Java无处不在,从“物联网”到其它领域,这并不是简单的炒作。至少一组数字使 Java 成为服务器端 Web 框架的性能竞赛的佼佼者。但仅仅是性能上的优势就能赢得非Java开发者的青睐吗?从2013年3月开始,软件开发公司TechEmpower对几十种Web应用服务器框架,诸如Ruby on Rails、Dja翻译 2013-12-08 20:43:15 · 7510 阅读 · 0 评论 -
Instrumentation 功能介绍(javaagent)
nstrumentation 简介利用 Java 代码,即 java.lang.instrument 做动态 Instrumentation 是 Java SE 5 的新特性,它把 Java 的 instrument 功能从本地代码中解放出来,使之可以用 Java 代码的方式解决问题。使用 Instrumentation,开发者可以构建一个独立于应用程序的代理程序(Agent),用来监测和协助转载 2013-11-29 17:10:25 · 13524 阅读 · 1 评论 -
让JVM宕机
下面是java code greeks上的一篇文章,比较有意思,可以说是java的一个漏洞? 最近,我们发现深入细致的测试可能是有害的。扩大测试的覆盖度,只因为简单的一行代码导致我们费了几个小时的调试过程。造成我们这次不愉快的测试的罪魁祸首,就是那行代码,不仅让其所在的JVM崩溃,也让底层机器都宕机。 运行下面的代码(注意风险自担啊)。编译和运行时,都要将tools.j翻译 2013-11-29 23:38:03 · 2392 阅读 · 0 评论 -
JVM垃圾收集器使用调查:CMS最受欢迎
近日,Plumbr公司对特定垃圾收集器(GC)使用情况进行了一次调查研究。本次研究的数据来自代表2670个不同使用环境的84936个案例。其中,13%的环境已经明确指定了一个垃圾收集器,其余的根据JVM而定。在指定了明确垃圾收集器的11062个案例中,根据每个垃圾收集器使用的统计次数,研究人员做出了下面的垃圾收集器饼图:GC使用统计名词解释Serial:串行转载 2013-11-29 14:10:19 · 1168 阅读 · 0 评论 -
Java 7 SDP:一次编写,到处运行,有时还运行得超炫!
本文将简单介绍Java 7 SDK里引入的Java套接字直接协议(Sockets Direct Protocol,SDP),这项新技术是个非常激动人心的突破。如果要对InfiniBand的远程直接内存存取(Remote Direct Memory Access,RDMA)进行native访问,SDP就能让超高性能计算(Ultra High Performance Computing,UHPC)转载 2013-11-28 23:26:39 · 3132 阅读 · 0 评论 -
Eclipse4X安装Tomcat插件Uqbar's TomcatXT plug-in
一直在Eclipse中用Tomcat Sysdeo Plugin作为Tomcat的插件。但最近升级Eclipse为4.4M后,这个插件不可用(其实官方也只是更新到3.3版支持到eclipse3.6)。通过Eclipse的marketplace找到了一个新的插件Uqbar's TomcatXT plug-in,它是Sysdeo的继任者,支持eclipse3.2及以上的版本。通过适用与Sysdeo原创 2014-01-14 14:47:03 · 2128 阅读 · 0 评论 -
IntelliJ IDEA 中导出jar包插件-Handy Export Jar
目录背景功能安装使用源代码及问题跟踪截图背景使用Eclipse做Java的IDE时,经常要导出某一个类或几个类输出为一个jar包,然后用于补丁打到项目运行环境中,比较方便,可以避免编译整个工程或依赖问题。而在Idea中要做相同的操作,比较麻烦,有些插件也不太好用,因此,去年年底自己写了一个插件,基本与Eclipse的Export功能相同。功能Quick and Handy export...原创 2019-04-06 21:43:33 · 18862 阅读 · 11 评论 -
Spring+Hibernate+Jpa嵌套事务型service点滴
近期和团队兄弟一起处理了一个事务型service嵌套调用引发的问题,总结起来。环境spring4.2.5+hibernate4.3.11+jpa2.1spring xml 配置使用注解事务方式: 问题描述 service1.method--->(调用)service2.method,当1和2都开启事务,且1开启的读写事务,默认情况下2会嵌原创 2018-01-21 21:38:15 · 2889 阅读 · 1 评论 -
Bidirectional OneToOne association lazy loading support
Bidirectional OneToOne association lazy loading supportProject原创 2016-12-14 13:46:53 · 7822 阅读 · 1 评论 -
Add enum alias name or change name
QuestionJava enum’s name declare in source code, as some reason, we want to change its name to another one.For ExampleHave a enum:enum modifier { _public, _private, _protected;} As we know “publ原创 2016-12-16 10:24:19 · 921 阅读 · 1 评论 -
Spring的ref bean和ref local
ref bean<ref bean="someBean"/>可以引用运行容器中的bean的id或name。既包括当前环境,也包括父级环境中的bean。参见。ref local<ref local="someBean"/>只能引用当前xml中配置的bean的id,不能是name。运行前就可以检查到配置错误。Spring4.0移除ref localSpring4.0中已经移除ref local,官方解决原创 2015-03-23 14:50:44 · 1661 阅读 · 0 评论 -
给Spring的placeholder设置默认值
给Spring的placeholder设置默认值使用Spring时,可以方便地通过placeholder的形式${key}将key对应的properities定义value,注入到Bean中。但是如果在properities文件中,没有对key定义,默认情况下Spring启动创建Bean时会报找到key的错误。解决办法:一是将对应的key=value写入properies文件中,value可以为原创 2015-03-02 22:01:28 · 3404 阅读 · 0 评论 -
JSP页面输出不完整
最近产品上一个jsp页面输出不完整,找了好几种原因:1.flus原创 2014-05-26 09:53:25 · 3213 阅读 · 0 评论 -
Java8正式发布
Java 8已于2014年3月18日正式发布。下载地址相关介绍文章-关于java8特性相关介绍文章-关于IDE支持原创 2014-03-25 16:33:17 · 1394 阅读 · 0 评论 -
JDK8 RC 版发布
今天在openjdk的主页上看到,jdk8rc版已经发布,感兴的可以下载了。地址原创 2014-02-12 09:50:57 · 1117 阅读 · 0 评论 -
线程间无锁通讯算法
infoq上的一篇文章介绍线程间无锁通讯算法。转载 2014-02-23 21:44:03 · 1543 阅读 · 0 评论 -
ProGuard的Maven插件配置
Java代码混淆工具ProGuard是比较流行的,集成到Maven中需要使用相关插件。通过比较,笔者认为IDFC Maven ProGuard Plug-in是较好些(也是ProGuard官方推荐)。下面是pom的一个配置示例,这个示例是对项目中一个公共lib(有其特殊性)进行混淆,除了plugin之外的配置,还有一个.pro的配置文件(存放在${basedir}/src/main/con原创 2014-01-20 22:52:37 · 13661 阅读 · 2 评论 -
JVM垃圾回归器介绍及比较
一篇是Oracle官方文章,介绍G1和CMS:《Getting Started with the G1 Garbage Collector》另一篇是对比商用的几种JVM中的垃圾回收器:《c4-garbage-collector 》转载 2013-11-22 09:40:28 · 796 阅读 · 0 评论 -
HotSpot JVM中关于G1GC介绍的官方文档地址
http://docs.oracle.com/javase/7/docs/technotes/guides/vm/G1.htmlGarbage-First Collector IntroductionThe Garbage-First (G1) garbage collector is f原创 2013-10-17 14:43:19 · 4044 阅读 · 0 评论 -
多核下的并发计数器的高性能实现
http://www.javacodegeeks.com/上有篇介绍多核并发计数器实现对比的文章。概要:1、在并发线程多于内核数的情况下,AtomicLong等实现的计数器,性能会下降,因竞争增加;2、在JDK8中实现了LongAddr,可实现多核下的高效计数器。点击打开链接翻译 2013-09-25 09:03:09 · 993 阅读 · 0 评论 -
本地码转换至ASCII码工具-native2ascii
在Java自带的工具有一个用于将本地编码的文本文件转换为ASCII码文件的工具,在某些情况下(例如,java源文件在不同系统平台下编译,含中文字符的资源文件处理等)会用到它,在这里总结一下,供各位参考。 native2ascii-本地码-至-ASCII 码转换器将含有本地编码字符(既非 Latin1 又非 Unicode 字符)的文件转换为 Unicode 编码字符的文件。原创 2007-12-26 16:02:00 · 2780 阅读 · 0 评论 -
在VMware上的FC7中安装Oracle10g
安装Oracle10g:这两天在我的VMware6.0下成功安装了Fedora7,然后在上面又成功安装了Oracle10g。当然,参考了很多网上资料。在FC7中安装Oracle10g,大致分为:下载缺少库;建立安装用户;建立安装目录;修改全局配置文件;安装等几个步骤,具体方法我在这里就不累述了,有兴趣的可参考我的同学暴民的博客。我只是补充几点:安装时用的是oracle用户,如果用r原创 2007-11-14 20:58:00 · 1118 阅读 · 0 评论 -
我用Java实现的二叉树的遍历(递归和非递归)
下面是我的原代码,后面是一个辅助类:/** * BinTee.java */package com.zyh.test;import java.util.*;/** * @author zhyhang * @version 10/19/07 */public class BinTree { /** * @param args */ public static void main(Stri原创 2007-10-24 22:05:00 · 1982 阅读 · 0 评论 -
JFormattedTextField组件的文本选择问题
在最近的Java编程中遇到一个问题,就是如何实现:文本组件在获得焦点后,自动选择其文本内容? 这本来是一个比较容易的问题,例如,用下面的方法就应该可以实现: myTextField.addFocusListener(new FocusAdapter() { public void focusGained(FocusEvent evt) { JForm原创 2007-09-09 14:37:00 · 885 阅读 · 0 评论 -
NetBeans之Matisse解读
从NetBeans5.0开始,就加入了新的GUI设计模块“Matisse”, 到今年晚些时候即将发布的6.0,Matisse已经逐步地完善,并被开发人员所接受。因为它对于开发基于Java的桌面应用程序来说简直太方便了。 原来并不知道这个“Matisse”到底是什么意思,字典中也没有它的解释。到NetBeans的主页上也没找到答案。到网上搜一搜,终于明白NetBeans的开发人员为什么原创 2007-04-27 09:34:00 · 1564 阅读 · 0 评论 -
编写建模软件的工具选择?
因为学业的原因,要编写一个如visual visio、rose一样的建模软件,但不是UML建模。 因为要考虑跨平台的问题,所以选择以java语言实现。但是如果要从头编写,可能要费很大的力量,所以在高手的指点下准备使用现有的工具。这几天一直在查找相关软件。 初步,找到了两款工具软件。一个是netbeans下的visual library包,另一个是eclipse下的GMF插件。相比较来说,原创 2007-04-16 00:29:00 · 1184 阅读 · 0 评论 -
期待着NetBeans6.0 Milestone9的发行
前几天在WilliamChen的BLOG中看到一个有关NetBeans6.0即将推出的新功能的flash演示,深受震动!下面一张图片是个截图。Flash中主要演示的是GUI Builer的增强功能。很想早点儿体验到亲身适用的感觉,但是我这几天下载的daily builder版中还没有加入这项功能。 Roumen在博客中透露,这一功能将在M8或M9版中加入,但上月底时M8已经发布,还原创 2007-04-16 20:28:00 · 2397 阅读 · 0 评论 -
mysql5.1.7-beta-log和mysql-connector-java-5.0.5中文乱码的解决(linux)
整整弄了一个晚上,终于解决了jdbc(mysql-connector-java-5.0.5)和mysql5.1.7通信中文乱码的问题!我的系统是linux(FC5)。在java中(eclipse环境)使用jdbc连接mysql。存储英文没问题,写(insert into)和读(select)都能正确显示,但是若其中带有中文字符就成乱码了。看了mysql5.1的中文手册没有解决,到网上查找了半天资料原创 2007-04-07 00:38:00 · 3052 阅读 · 0 评论 -
Java学习笔记之Final(Static)变量
如果一个类的域被声明为final: 则必须对它进行初始化,否则编译器会报错; 初化时可以在声明时进行,private final int n=100; 如果在声明时未进行初始化,则在每个构造函数中都要对它进行显式初始化; 如果对一个类对象变量声明为final,只代表这个对象变量不能再引用其它对象,如,final Date date=new Date();是不能再date=n原创 2007-03-16 12:33:00 · 875 阅读 · 0 评论 -
Java代码编写的30条建议
1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标 识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如: ThisIsAClassName thisIsMethodOrFieldName 若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母 。这样便可标志出它们属于编译期的常数。 Java包(Package)属于一转载 2007-01-27 00:07:00 · 673 阅读 · 0 评论 -
Java学习笔记之窗口居中
如果要使主窗口 居中一般使用下面的方法:class CenteredFrame extends JFrame{ public CenteredFrame() { Toolkit kit=Toolkit.getDefaultToolkit(); Dimension screenSize=kit.getScreenSize(); int screenHeight=screenSize.hei原创 2007-03-14 22:40:00 · 921 阅读 · 0 评论