随笔分类 - Java技术积累
深层发掘API
摘要:在实际的开发中,使用 @TransactionalEventListener,原以为提交事件的方法的事务提交后才会触发,实际使用却发现,并非如此。 表现为查不到提交事件的方法数据修改结果。 实际使用中还需要定义一下监听方法的事务传播策略(总是新建)和事务隔离策略(读未提交),具体注解如下: @Tra
阅读全文
摘要:该问题主要是因为maven打包时没有使用utf-8编码格式,解决方案如下: 在springboot打包插件中增加打包编码配置: <configuration> <!--解决系统编码非UTF-8情况下打包编码问题--> <jvmArguments>-Dfile.encoding=UTF-8</jvmA
阅读全文
摘要:使用JAXB将对象序列化为XML时,发现有一个地方性能非常低,即 JAXBContext.newInstance(XXX.class); 建议将其提前创建好并作为变量保存,到时可直接使用其引用,而非重复创建。
阅读全文
摘要:我不是要做一门编程语言,了解这个对我现在的工作也没什么帮助,纯粹好奇而已。 传送门
阅读全文
摘要:以下两篇文章,看了基本就懂了,尤其第二篇http://blog.51cto.com/yaocoder/1308899 https://blog.csdn.net/woaixiaopangniu521/article/details/70279143
阅读全文
摘要:通常我们为了规避单例模式下多线程之间共享全局变量的问题,会使用ThreadLocal,不过很多人不知道ThreadLocal里数据的存储方式和我们平时理解的不太一样。 源码解析(直奔主题): 每个线程都有一个ThreadLocalMap对象: 这个Map里存了所有线程变量中保存的数据,保存的方式:
阅读全文
摘要:http://www.cnblogs.com/fangwenyu/archive/2011/10/12/2209051.html
阅读全文
摘要:HashMap不是线程安全的,ConcurrentHashMap则在某一个方法的执行上是线程安全的。 如果是HashMap,put的时候两个线程有一定机率互相干扰,如果是ConcurrentHashMap,则不会干扰。 以上代码HashMap改为ConcurrentHashMap就不会异常了。 详细
阅读全文
摘要:1、该网站的ppt链接全部都在页面上,用正则手动提取所有链接,放在指定位置的,以txt形式保存,格式如下 2、写个java文件处理一下,如下:
阅读全文
摘要:http://blog.csdn.net/szwangdf/article/details/42454463
阅读全文
摘要:5.0的多线程任务包对于同步的性能方面有了很大的改进,在原有synchronized关键字的基础上,又增加了ReentrantLock,以及各种Atomic类。了解其性能的优劣程度,有助与我们在特定的情形下做出正确的选择。 总体的结论先摆出来: synchronized: 在资源竞争不是很激烈的情况
阅读全文
摘要:【解决方法】如果你用的是Eclipse 在preference->java->complier->errors/warning->deprecated and restricted API把 Forbidden reference 的Error改成warning 即可【原因】J2SE中的类大致可...
阅读全文
摘要://将origin属性注入到destination中 public void mergeObject(T origin, T destination) { if (origin == null || destination == null) return; if (!origin.getClass().equals(destination.getClass())) return; Field[] fields = origin.getClass().getDeclaredFields(); for (int i = 0; i < fields.length; i++) { ...
阅读全文
摘要:public class SelfPrint { public static void main(String args[]) { char s = 34; String a = "public class SelfPrint {public static void main(String args[]) {char s = 34; String a = %s;System.out.printf(a, s+a+s);}}//一段打印自身的代码"; System.out.printf(a, s + a + s); } }// 一段打印自身的代码追求完美请将上面的代码放在一行中
阅读全文
摘要:动态代理属于Java反射的一种。 当我们得到一个对象,想动态的为其一些方法每次被调用前后追加一些操作时,我们将会用到java动态代理。 下边上代码: 首先定义一个接口: 接着是它的实现: 我们的目的就是通过动态代理技术,在Cls这个类的对象的两个方法执行前后,加上一些打印操作。 现在我们实现一个In
阅读全文
摘要:对于客户端发来的汉字,我们一般需要转码:------------------------------------------------------------------------------------request.setCharacterEncoding("UTF-8");//这样设置客户...
阅读全文
摘要:JavaScript中编码有三种方法:escape、encodeURI、encodeURIComponent,地址栏中那些%XX就是汉字对应的字节被encodeURI编码格式转了。一个字节对应一个%转换方式如下:public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String line = request.getQueryString();System.out.println(line);String isDecodeUr
阅读全文
摘要:package rd.test;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.IOException;import java.util.Random;import javax.imageio.ImageIO;import javax.servlet.ServletException;import javax.servlet.http.HttpServl
阅读全文
摘要:简便写法如下:代码 :@echo offSetLocalEnableDelayedExpansion FOR%%iIN("XXX\lib\*.jar")DOSETCLASSPATH=!CLASSPATH!;%%~fsi echo%CLASSPATH% EndLocal 第一句:启用变量延迟; 第二句:循环将.jar文件加入,并以短路径的形式加入; 比如:C:\Program Files\lib\XXX.jar 变为:C:\Progra~1\lib\XXX.jar 第三句:显示设置后的CLASSPATH值; 第四句:还原系统环境设置注意:第二句的!CLASSPATH! 与 %
阅读全文
摘要:给Tomcat服务器应用加密:命令:keytool -genkey -alias tomcat -keyalg RSA-genkey产生密钥对-alias取得别名-keyalg RSA产生密钥采用的算法指定为RSA给安卓程序生成证书:命令:keytool -genkey -v -keystore android.keystore -alias android-keyalg RSA -validity 20000该命令中,-keystore android.keystore 表示生成的证书,可以加上路径(默认在用户主目录下);-alias android表示证书的别名是android;-keya
阅读全文