随笔分类 - Java提高
摘要:详见:https://blog.csdn.net/weixin_39148512/article/details/79234817 众所周知,在List集合中,我们经常会用到ArrayList以及LinkedList集合,但是通过查看源码,就会发现ArrayList实现RandomAccess接口,
阅读全文
摘要:声明式事务:可知编程式事务每次实现都要单独实现,但业务量大功能复杂时,使用编程式事务无疑是痛苦的,而声明式事务不同,声明式事务属于无侵入式,不会影响业务逻辑的实现。 声明式事务实现方式主要有2种,一种为通过使用Spring的<tx:advice>定义事务通知与AOP相关配置实现,另为一种通过@Tra
阅读全文
摘要:详见:https://www.cnblogs.com/softidea/p/5877546.html Spring Boot 使用事务非常简单,首先使用注解 @EnableTransactionManagement 开启事务支持后,然后在访问数据库的Service方法上添加注解 @Transacti
阅读全文
摘要:1.编程式事务:编码方式实现事务管理(代码演示为JDBC事务管理) Spring实现编程式事务,依赖于2大类,分别是上篇文章提到的PlatformTransactionManager,与模版类TransactionTemplate(推荐使用)。下面分别详细介绍Spring是如何通过该类实现事务管理。
阅读全文
摘要:事务的ACID 1)原子性(Atomic):事务中各项操作,要么全做要么全不做,任何一项操作的失败都会导致整个事务的失败; 2)一致性(Consistent):事务结束后系统状态是一致的; 3)隔离性(Isolated):并发执行的事务彼此无法看到对方的中间状态; 4)持久性(Durable):事务
阅读全文
摘要:一.通过Callable接口实现多线程 1.Callable接口介绍: (1)java.util.concurrent.Callable是一个泛型接口,只有一个call()方法 (2)call()方法抛出异常Exception异常,且返回一个指定的泛型类对象 2.Callable接口实现多线程的应用
阅读全文
摘要:目录 一、前言二、 TreeMap的结构三、Tree源码解析3.1 TreeMap的成员变量3.2 TreeMap的构造方法3.3 TreeMap的重要方法四、总结 一、前言 在前一篇博客中,我们对TreeMap的继承关系进行了分析,在这一篇里,我们将分析TreeMap的数据结构,深入理解它的排序能
阅读全文
摘要:目录 一、前言二、TreeMap的继承关系三、SortedMap接口源码解析3.1 SortedMap接口3.2 Comparable接口3.3 Comparator接口四、NavigableMap接口源码解析五、总结 一、前言 在前面两篇随笔中,我们提到过,当HashMap的桶过大的时候,会自动将
阅读全文
摘要:详见:【JDK1.8】JDK1.8集合源码阅读——LinkedHashMap 一、前言二、LinkedHashMap的结构与继承关系2.1 LinkedHashMap的数据结构2.2 LinkedHashMap的继承关系三、LinkedHashMap源码解析3.1 LinkedHashMap的继承关
阅读全文
摘要:详见:https://blog.csdn.net/cb_lcl/article/details/81222394 一、概述 LinkedList底层是基于双向链表(双向链表的特点,可以看下我的另外一篇博文:https://blog.csdn.net/cb_lcl/article/details/81
阅读全文
摘要:在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr() ,这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,将http://192.168.1.110:2046/ 的URL
阅读全文
摘要:一.过滤器 二.拦截器 三.监听器 拦截器和过滤器的区别 过滤器和拦截器的区别: ①拦截器是基于java的反射机制的,而过滤器是基于函数回调。 ②拦截器不依赖与servlet容器,过滤器依赖与servlet容器。 ③拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。 ④拦截器
阅读全文
摘要:一.使用java IO 下载文件最基本的方法是java IO,使用URL类打开待下载文件的连接。为有效读取文件,我们使用openStream() 方法获取 InputStream: 从InputStream读取文件时,强烈建议使用BufferedInputStream去包装InputStream,用
阅读全文
摘要:一、Apache Commons-FileUpload简介 Apache Commons是一个专注于可重用Java组件的所有方面的 Apache 项目。 Apache Commons项目由三个部分组成: Commons Proper - 可重用Java组件的存储库。 The Commons Sand
阅读全文
摘要:转自:https://www.jianshu.com/p/59d09b9cee58 每一个优秀的开发者脑中都有时间概念。他们想给用户更多的时间让用户做他们想做的事情。他们通过最小化时间复杂度来实现这一目的。 在你能理解程序的时间复杂度之前,你需要了解最常使用它的地方:算法设计。 所以究竟什么是算法?
阅读全文
摘要:详见:https://www.cnblogs.com/dongyu666/p/6971783.html 1. 前言 单例(Singleton)应该是开发者们最熟悉的设计模式了,并且好像也是最容易实现的——基本上每个开发者都能够随手写出——但是,真的是这样吗? 作为一个Java开发者,也许你觉得自己对
阅读全文
摘要:何谓悲观锁与乐观锁 悲观锁 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读
阅读全文
摘要:https://blog.csdn.net/u012585964/article/details/52011138 http://www.importnew.com/20339.html 一,java的核心机制 java有两种核心机制:java虚拟机(JavaVirtual Machine)与垃圾收
阅读全文
摘要:Copy备用 之前客户要求在不重启应用的前提下实现动态增加服务及交易,在网上查了很长时间也没发现类似的技术,最后研究了一下ClassLoader。因为项目是与Spring,一开始我和同事尝试替换源码的class文件,然后调用Spring的refresh()函数刷新上下文,但是发现原来的类没有被新的类
阅读全文
摘要:详见:https://blog.csdn.net/zai_xia/article/details/80026325 扩展:java反射机制与动态加载类 https://www.cnblogs.com/wzk-0000/p/9322866.html 在讲解动态加载类之前呢,我们先弄清楚为什么要动态加载
阅读全文