随笔分类 - Java
摘要:SLF4J介绍 SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。实际上,SLF4J所提供
阅读全文
摘要:1.加密工具类encryption MD5加密 [java] view plain copy print? import org.apache.commons.codec.digest.DigestUtils; /** * MD5加密组件 * * @author wbw * @version 1.0
阅读全文
摘要:/**XML转字符串 */ Document document = new SAXReader().read(new File("E:test.xml"));; String text = document.asXML(); /**字符串转XML */ String xmlStr = ****; D
阅读全文
摘要:最近在使用支付宝、财付通这样的第三方支付,在使用支付宝过程中需要引入官方SDK方便开发,使用以下命令来将本地的jar装载到maven仓库中。这里有几点需要注意点,我使用Windows10时,使用powershell 死活不可以,报错误:[ERROR] The goal you specified r
阅读全文
摘要:/** * 引进的包都是Java自带的jar包 * 秘钥相关包 * base64 编解码 * 这里只用到了编码 */ import java.security.Key; import java.security.KeyPair; import java.security.KeyPairGenerat
阅读全文
摘要:list升序,降序,逆序List<Integer>list =new ArrayList<Integer>();//如果list是 5 7 2 6 8 1 41、升序:Collections.sort(list) //list: 1 2 4 5 6 7 82、降序:Collections.sort(
阅读全文
摘要:newFixedThreadPool的阻塞队列大小是没有大小限制的,如果队列堆积数据太多会造成资源消耗。newCachedThreadPool是线程数量是没有大小限制的,当新的线程来了直接创建,同样会造成资源消耗殆尽。在新建线程池的时候使用ThreadPoolExecutor创建,阻塞队列可以使用A
阅读全文
摘要:在并发编程中,有时候需要使用线程安全的队列。如果要实现一个线程安全的队列有两种方式:一种是使用阻塞算法,另一种是使用非阻塞算法。 //使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现。非阻塞的实现方式则可以使用循环CAS的方式来实现。 阻塞队列: 阻
阅读全文
摘要:如何合理地估算线程池大小? 感谢网友【蒋小强】投稿。 如何合理地估算线程池大小? 这个问题虽然看起来很小,却并不那么容易回答。大家如果有更好的方法欢迎赐教,先来一个天真的估算方法:假设要求一个系统的TPS(Transaction Per Second或者Task Per Second)至少为20,然
阅读全文
摘要:1.基本类型(以int为例)源码中的快速排序,主要做了以下几个方面的优化: 1)当待排序的数组中的元素个数较少时,源码中的阀值为7,采用的是插入排序。尽管插入排序的时间复杂度为0(n^2),但是当数组元素较少时,插入排序优于快速排序,因为这时快速排序的递归操作影响性能。 2)较好的选择了划分元(基准
阅读全文
摘要:双重检验的单例模式是比较推荐的单例写法,在该代码中的单例对象的是用volatile关键字修饰的。这时就产生的一个疑问,为什么需要volatile来修饰呢?上网查看多个博客,下面简单通俗分析一下当中的原因:贴上不加volatile单例代码public class Singleton { private
阅读全文
摘要:Spring事务传播行为:spring特有的事务传播行为,spring支持7种事务传播行为,确定客户端和被调用端的事务边界(说得通俗一点就是多个具有事务控制的service的相互调用时所形成的复杂的事务边界控制)下图所示为7钟事务传播机制o 传播行为 含义PROPAGATION_REQUIRED(X
阅读全文
摘要:本文转自:http://qifuguang.me/2015/09/02/[Java%E5%B9%B6%E5%8F%91%E5%8C%85%E5%AD%A6%E4%B9%A0%E4%B8%83]%E8%A7%A3%E5%AF%86ThreadLocal/ 这里也留着以后自己方便再看。 相信读者在网上也
阅读全文
摘要:ThreadLocalMap的Enrty代码实现:将Entry的Key设置成弱引用,在配合线程池使用的情况下可能会有内存泄露的风险。之设计成弱引用的目的是为了更好地对ThreadLocal进行回收,当我们在代码中将ThreadLocal的强引用置为null后,这时候Entry中的ThreadLoca
阅读全文
摘要:原文链接:https://blog.csdn.net/jimolangge123/article/details/49228255 MyBatis框架主要是围绕着SqlSessionFactory这个类进行的,这个的创建过程如下: 定义一个Configuration对象,其中包含数据源、事务、map
阅读全文
摘要:package com.com.dbhelper; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.sql.ResultSet; import java.sql.ResultSetMetaDat
阅读全文
摘要:Hello,大家好,上篇文章我们说了下反射的基本情况和简单使用,那么本篇文章我们就使用反射写一个工具类。用来将数据库查询结果的ResultSet转换为指定类型的对象。使用反射来实现ResultSet内容的转换: //将查询结果的第一条数据转换为指定类型的对象 public static <T> T
阅读全文
摘要:package com.hebut.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; impor
阅读全文
摘要:目录 一、java线程状态 二、使用jstack生成进程dump文件 三、统计dump文件中处于不同状态的线程数量 四、举例分析不同状态的线程 1、分析BLOCKED (on object monitor)状态的线程 2、分析TIMED_WAITING (on object monitor)和WAI
阅读全文

浙公网安备 33010602011771号