![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
yzgyjyw
这个作者很懒,什么都没留下…
展开
-
SpringBean的生命周期
Spring的Bean的生命周期调用Bean的无参构造函数,初始化bean对象调用set方法,对bean的属性注入如果Bean实现了BeanNameAware,那么调用setBeanName方法,设置Bean的id为BeanName如果Bean实现了ApplicationContextAware接口,那么调用setApplicationContext,设置applicationContext原创 2017-05-14 21:53:24 · 1047 阅读 · 0 评论 -
JVM内存区
JVM内存的划分原创 2017-07-31 20:39:56 · 1038 阅读 · 0 评论 -
JVM垃圾收集算法
JVM垃圾收集算法原创 2017-07-31 20:41:52 · 1157 阅读 · 0 评论 -
JVM垃圾收集器
JVM垃圾收集器原创 2017-07-31 20:44:03 · 1140 阅读 · 0 评论 -
Java线程(一)
新建线程继承Thread 实现Runnable停止线程stop方法是一个被废弃的方法,因为其是暴力的,即不管线程执行的状态如何,都会立刻停止线程,可能会引起数据不一致的情况,数据不一致的情况见如下代码:public class UnformmatedStop { static class Person{ private String username; pr原创 2017-07-19 16:20:53 · 1077 阅读 · 0 评论 -
java线程(二)
挂起(suspend)和继续执行(resume)这是两个被标注的废弃的方法,原因如下: * suspend()方法在迫使当前正在执行的线程的暂停的时候,并不会去释放锁 * 如果resume()意外的在suspend()之前被执行了,那么被挂起的线程很可能就永远不可能再执行了 关于第二个问题,示例代码如下:public class SuspendAndResume { static cl原创 2017-07-31 20:37:30 · 1032 阅读 · 0 评论 -
java线程(三)
本篇介绍守护线程和线程的优先级守护线程(Daemon线程)守护线程就是系统的守护者,比如垃圾回收线程,JIT线程等都是守护线程,与之相对应的就是用户线程,如果用户线程全部结束没那么也就意味着这个程序实际上无事可做了,守护线程要守护的对象已经不存在了,那么整个程序自然就会退出,因此一个java程序,只有守护线程时,java虚拟机自然就会退出public class DaemonThread {原创 2017-07-31 22:48:38 · 1195 阅读 · 0 评论 -
重入锁
重入锁原创 2017-07-31 20:49:47 · 1146 阅读 · 0 评论 -
读写锁
ReadWriteLock,读写锁传统的锁的劣势原创 2017-07-31 20:53:56 · 1235 阅读 · 0 评论 -
SSM框架的整合
第一步:首先整合spring和mybatis1.将spring与web项目整合通过配置ContextLoaderListener来在项目刚启动(servletContext对象刚创建)的时候,初始化spring容器WebApplicationContext,详细的源代码如下:public class ContextLoaderListener extends ContextLoader implem原创 2017-08-18 15:56:06 · 1115 阅读 · 0 评论 -
Fork/Join框架
Fork/Join框架的思想Fork/Join的思想是一个分而治之的思想的实现,跟MapReduce的思想如出一辙,简单的说就是加入我们需要处理1000个数据,但是我们并不具备处理1000个数据的能力,那么我们可以让一个线程只处理其中的10个,然后分阶段处理100次,将100次的结果进行合并,那么就会得到对最终的1000个数据的处理结果JDK并发包中的实现在实际应用中,我们没有办法毫无顾忌地使用fo原创 2017-06-12 17:12:19 · 1093 阅读 · 0 评论 -
JDK并发包线程池(三)自定义线程池
自定义线程池就是自己创建ThreadPoolExecutor对象,根据自己的需求指定里面的各个参数 自定义线程池的拒绝策略,需要实现RejectedExecutionHandler接口 自定义线程的创建工厂ThreadFactory,ThreadFactory是一个工厂,自定义ThreadFactory可以跟踪线程池在某个时刻创建了多少个线程,也可以自定义线程的名称,组以及优先级等信息publi原创 2017-06-11 21:43:34 · 1197 阅读 · 0 评论 -
动态代理及其在Spring中的应用
动态代理及其在Spring中的应用概念动态代理,就是为一个对象提供一种代理来控制对这个对象的访问形式JDK实现的动态代理使用java.lang.reflect.Proxy这个类对目标对象进行增强//BookDao的接口public interface IBookDao { public int add(); public int delete();}public class Bo原创 2017-05-15 14:43:00 · 2155 阅读 · 0 评论 -
SpringAop与AspectJ的联系与区别
SpringAop与AspectJ的联系与区别区别AspectJAspectJ是一个面向切面的框架,它扩展了Java语言。AspectJ定义了AOP语法,所以它有一个专门的编译器用来生成遵守Java字节编码规范的Class文件。spring aopSpring提供了四种类型的Aop支持 * 基于经典的SpringAOP * 纯POJO切面 * @ASpectJ注解驱动的切面 * 注入式Asp原创 2017-05-19 11:43:29 · 13496 阅读 · 2 评论 -
SpringAop中使用@AspectJ注解
对于将纯POJO申明成切面的方式中,如果不使用@AspectJ,那么就需要使用使用繁琐的XML配置,因此Spring借鉴了AspectJ的切面,以提供注解驱动的AOP,但是本质上依然是使用的SpringAop的动态代理的方式,只是变成模型几乎与AspectJ完全一样。 Spring只支持AspectJ切点指示器的一个子集,因为其没有办法进行非方法级别的切点使用切点指示器编写切点: executi原创 2017-05-19 15:04:15 · 1674 阅读 · 0 评论 -
Mysql中的事务
事务的定义:事物就是一组数据库操作的集合事物的特性:A:atomic原子性:一个事务里面的所有操作要么全部完成,要么全部失败,回滚到事物执行前的状态 C:Consistent一致性:事务前后数据库的完整性必须保持一致 I:Isolation隔离性:一个事务的执行的不会被其它事务的执行影响,多个并发的事务之间相互隔离,互不影响 D:Durability永久性:一旦一个事务提交后,其对数据库的改变原创 2017-05-19 20:32:48 · 1191 阅读 · 0 评论 -
Mybatis自己实现Dao与使用Mapper的代理实现Dao
Mybatis原始的Dao的开发方式(不使用Mapper代理)主要知识点insert后如何获取对象的主键的值(自动增长的或者uuid的)使用selectKey,需要注意的是对于是自动增长的主键还是uuid的主键需要区分开来。自动增长的主键<insert id="insertUser" parameterType="com.njust.ml.po.User" > <!--查询插入后记录原创 2017-05-21 20:02:56 · 1295 阅读 · 0 评论 -
org.apache.commons.io.IOUtils.copyLarge源码解析
本文的程序为使用hdfs的客户端从hdfs中读取数据,并将得到的流copy到System.out中 其他的重载方法最后都是调用这个方法原创 2017-06-02 13:39:40 · 3844 阅读 · 0 评论 -
Mybatis的SqlMapConfig文件
Mybatis的配置文件的结构properties可以将一些配置文件单独的写在属性properties文件中,例如数据库连接的一些信息第一种引用外部的属性文件#db.propertiesjdbc.username=rootjdbc.password=yzgylqjdbc.url=jdbc:mysql://localhost:3306/mybatisjdbc.driver=com.mysql.原创 2017-05-22 14:11:53 · 1153 阅读 · 0 评论 -
Mybatis的多表查询
一对一查询使用ResultType在这种方法中,一般就是新建一个扩展类,用来将需要连接的两个对象的属性都包括其中,然后设置ResultType就是这个新建对象的类型 需求:查询每一个订单的用户的用户名,这是一个一对一的问题,需要连接user表和orders表 新建一个OrdersCustomer表,其继承了orders类,并新增加了一个username的属性public class Orders原创 2017-05-22 20:07:32 · 10067 阅读 · 1 评论 -
JDK并发包中的线程池(一)
不使用线程池时的一些问题public class NonePool { public static void main(String[] args) { new Thread(){ public void run() { //TODO }; }.start(); }}上面原创 2017-06-11 20:08:42 · 2029 阅读 · 0 评论 -
JDK并发包中的线程池(二)核心线程池的内部实现
对于核心的几个线程池newSingleThreadExecutornewFixedThreadPoolnewCachedThreadPool其内部都是使用的ThreadPoolExecutor实现的,下面给出它们的实现方式:public static ExecutorService newFixedThreadPool(int nThreads) { return new Thr原创 2017-06-11 21:04:57 · 1113 阅读 · 0 评论 -
Spring中的事务管理
Spring提供事务管理API:PlatformTransactionManager 平台事务管理器.commit(TransactionStatus status)rollback(TransactionStatus status)getTransaction(TransactionDefinition definition)Spring为不同的持久化框架提供了不同Pl原创 2017-05-20 18:06:29 · 1220 阅读 · 0 评论