![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
kkagr
这个作者很懒,什么都没留下…
展开
-
23种设计模式(1):单例模式
单例模式 单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处:某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。省去了new操作符,降低了系统内存的使用频率,减轻GC压力。有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全乱了。(比如一个军队出现了多...原创 2018-06-10 11:31:55 · 256 阅读 · 0 评论 -
java pdf转图片工具类
首先引入maven配置<dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>fontbox</artifactId> <version>2.0.1</version> </dependency> <dependency>原创 2021-03-12 11:16:41 · 410 阅读 · 0 评论 -
LRU两种实现
public class LRULinkedHashMap<K, V> extends LinkedHashMap <K, V> { private final int maxCapacity; private static final float DEFAULT_LOAD_FACTOR = 0.75f; private final Lock lock = new ReentrantLock(); public LRULinkedHashMap(原创 2021-01-04 17:54:14 · 196 阅读 · 0 评论 -
springboot使用配置类根据方法名开启事务配置
springboot使用配置类根据方法名开启事务配置import java.util.LinkedList;import java.util.List;import javax.sql.DataSource;import org.springframework.aop.aspectj.AspectJExpressionPointcut;import org.springframework.aop.support.DefaultBeanFactoryPointcutAdvisor;import o原创 2020-12-23 10:38:22 · 831 阅读 · 0 评论 -
定时更新缓存或者map中的值
定时更新缓存或者map中的值public class Test { protected Map <String, List <String>> list = new ConcurrentHashMap(); public void test() { flushCache(); ScheduledExecutorService stockDetialTimer= new ScheduledThreadPoolExecutor(1);原创 2020-08-12 15:39:54 · 611 阅读 · 0 评论 -
PropertyPlaceholderConfigurer类源码解析理解,使用工具类替换{}
PropertyResourceConfigurer.postProcessBeanFactory方法/** * {@linkplain #mergeProperties Merge}, {@linkplain #convertProperties convert} and * {@linkplain #processProperties process} properties agains...原创 2019-06-17 11:41:16 · 195 阅读 · 0 评论 -
Ehcache3开发入门简介
在高并发应用中缓存就是核心机制。最近在研究Ehcache,发现这是一个更加灵活易用的缓存框架(相对于Redis、Memcache),Ehcache更加小巧轻便。而且都有持久化机制,不用担心JVM和服务器重启的数据丢失。我用四个字来形容:拎包入住。著名的Hibernate的默认缓存策略就是用Ehcache,Liferay的缓存也是依赖Ehcache,可见其健壮性。与其黑盒的瞎眼使用,不如来研究下这...原创 2019-06-28 12:58:12 · 2978 阅读 · 1 评论 -
使用redis缓存数据
首先在applicationContext.xml中引入redisTemplate<bean id="propertyConfigurer" class="PropertiesUtils"> <property name="ignoreResourceNotFound" value="true" /> <property name="...原创 2019-06-28 13:15:55 · 642 阅读 · 0 评论 -
java数据进行验证,防重复提交
1.在进入页面的时候提交修改时间,然后进行提交的时候,将修改时间带入到后台,然后查询数据库,当两个时间相同的时候,进行操作,否则就提示已操作...原创 2019-07-05 13:28:38 · 1571 阅读 · 0 评论 -
spring事物配置,声明式事务管理和基于@Transactional注解的使用
事物管理对于企业应用来说是至关重要的,好使出现异常情况,它也可以保证数据的一致性。spring支持编程式事务管理和声明式事务管理两种方式。 编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用Transactio...转载 2019-07-22 20:16:17 · 101 阅读 · 0 评论 -
Fastjson反序列化漏洞分析
版权声明:本文为博主原创文章,...转载 2019-07-27 21:32:32 · 7223 阅读 · 0 评论 -
thrift -version cmd命令下正常,但是在idea中报不是内部命令
一般情况下,我们会cmd命令下正常,但是在idea中报不是内部命令,可以在环境变量中path增加“C:\Windows\System32;”,然后添加对应程序的.exe文件对应的路径,然后重启电脑,查看一般就正常了...原创 2019-06-11 14:10:17 · 891 阅读 · 2 评论 -
建造者模式
建造者模式建造者模式表述:将一个复杂对象的构建和它的表示分离,使用同样的构建过程可以创建不同的表示。用了建造模式,用户只需要建造者的类型就可以得到他们,具体过程和细节可以不关注指挥者类是建造模式的核心,缺少指挥者类,那就不是建造模式,只是定义了一个接口或抽象类,规定必须实现的一些功能建造模式组成部分抽象建造者builder:创建一个product对象的各个组件部分具体...原创 2018-06-10 11:32:21 · 155 阅读 · 0 评论 -
快速排序法
快速排序法代码块快速排序法,例如:public class QuickStore { /* * * 快速排序 * * 思想: * 通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小, * 则可以分别对这两部分记录继续进行排序,已达到整个序列有序的目的 * * 本质就是...原创 2018-02-25 16:14:36 · 128 阅读 · 0 评论 -
死锁简单示例
简单死锁代码示例 死锁是两个或更多线程阻塞着等待其它处于死锁状态的线程所持有的锁。死锁通常发生在多个线程同时但以不同的顺序请求同一组锁的时候。public class DeathLock extends Thread{ public static final Object obj1 = new Object(); public static final Object obj2...原创 2018-02-25 16:43:51 · 230 阅读 · 0 评论 -
HashSet原理解析
什么是HashSet HashSet实现了Set接口,它不允许集合中有重复的值,当我们提到HashSet时,第一件事情就是在将对象存储在HashSet之前,要先确保对象重写equals()和hashCode()方法,这样才能比较对象的值是否相等,以确保set中没有储存相等的对象。如果我们没有重写这两个方法,将会使用这个方法的默认实现。 HashSet类,是存在于java.util包中的类...原创 2018-06-07 23:24:49 · 4524 阅读 · 0 评论 -
Eclipse注释
方法:Eclipse中设置在创建新类时自动生成注释 windows–&gt;preference Java–&gt;Code Style–&gt;Code Templates comments–&gt;Types 编辑它/*** @author 作者 E-mail:* @version 创建时间:${date} ${time}* 类说明*/效果如下/*...原创 2018-06-10 11:33:03 · 86 阅读 · 0 评论 -
HashMap原理解析
HashMap概述 HashMap基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了不同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 值得注意的是HashMap不是线程安全的,如果想要线程安全的HashMap,可以通过Collecti...原创 2018-06-10 11:35:29 · 1194 阅读 · 0 评论 -
枚举工具类,通过key直接查找对应的描述
package boot.Operation.enums;/**@author kkagr@date:2018年8月6日 下午7:42:55类说明/import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;/*此帮助类严格限定为有typeName和typeC...原创 2019-03-06 21:20:17 · 665 阅读 · 0 评论 -
apache Thrift Python-Java'拒绝连接'
apache Thrift Python-Java’拒绝连接’我遇到过同样的问题。用ip修复“localhost”替换它。原因是:Python使用TCPV6,其中Java使用TCP。Python: transport = TSocket.TServerSocket(host=“127.0.0.1”, port = 9091)Java:transport = new TSocket(“127...原创 2019-06-12 23:25:32 · 461 阅读 · 1 评论 -
java 获得xml自定义属性
xmlKitimport com.jfinal.weixin.sdk.utils.IOUtils;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;import org.xml.sax.InputSource;import...原创 2019-06-03 23:48:58 · 310 阅读 · 0 评论 -
equals()与==
equals()和==的区别两个都是用来比较值大小的:==主要是用来比较两个引用是否指向堆内存的同一地址,equals(object)主要用来比较两个对象的值是否相同基本数据类型使用==比较,使用equals()将编译失败一般在对象中比较需要重写equals()方法,不然将导致使用object中的equals()方法,比较两个对象的指向地址是否相同*使用equals()方法需要重写原创 2018-06-10 11:36:06 · 136 阅读 · 0 评论