- 博客(27)
- 收藏
- 关注
原创 Mybatis 学习笔记
Mybatis 学习笔记Mybatis的结构基本结构及其生命周期SqlsessionFactoryBuilderSqISessionFactoryBuilder是利用XM或者Java编码获得资源来构建SqlSessionFactory的,通过它可以构建多个SessionFactory。它的作用就是一个构建器,一旦我们构建了 SqlSession Factory,它的作用就已经完结,所以它...
2020-03-11 15:59:29
510
原创 spring boot整合spring session
spring boot整合spring sessionmaven依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starte...
2020-03-11 15:56:36
293
原创 springboot操作redis
搭建springboot+mybatismaven依赖 <dependencies> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-star...
2020-01-13 19:50:20
241
原创 mybatis使用redis做二级缓存
redis安装springboot+mybatis搭建maven<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>...
2020-01-09 11:04:54
275
原创 java8新特性
Lambda表达式lambda表达式的使用依赖于函数式接口,函数式接口可以加注解进行语法验证。@FunctionalInterfacepublic interface prodict { int test(Integer i1,Integer i2);}函数式接口四大函数式接口:Consumer 消费型接口@FunctionalInterfacepublic inter...
2020-01-06 11:50:03
229
原创 单例模式
单例模式懒汉式线程不安全public class Singleton01 { private static Singleton01 singleton01; private Singleton01() { //私有化构造器 } public static Singleton01 getInstance() { //调用时才创建...
2019-12-24 11:05:38
127
原创 代理模式
代理模式代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象。这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。静态代理静态的创建代理对象, 静态代理在使用时,需要定义接口或者父类,被代理对象与代理对象一起实现相同的接口或者是继承相同父类。接口public interface IActive { void...
2019-12-24 11:04:09
166
原创 javaEE SpringBoot 手写一个自定义starer
Spring Boot-Starter一个starter其实就是一个maven工程,如图:所以写一个starter先要新建一个maven工程,然后在引入依赖的包。新建maven项目的pom为:<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/...
2019-06-21 11:51:11
642
原创 javaSE 并发包CopyOnWriteArrayList源码分析
CopyOnWriteArrayList每个CopyOnwriteArrayList对象都存在一个volatile修饰的array数组对象来存放具体元素,使用独占锁ReentrantLock对CopyOnWriteArrayList的新增修改进行原子性操作保证,源码:final transient ReentrantLock lock = new ReentrantLock();...
2019-06-17 20:32:24
516
原创 javaSE CSV格式文件读写操作
CSV格式介绍逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记...
2019-06-17 16:19:09
601
原创 javaSE 并发包 ThreadLocalRandom类原理剖析
ThreadLocalRandom类原理剖析Random的缺陷原来的Random类的产生一个新随机数的树的步骤为:首先根据老的种子生成新的种子。 然后根据新的种子来计算新的随机数。代码:public int nextInt(int bound) {if (bound <= 0)throw new IllegalArgume...
2019-06-16 17:05:40
542
原创 javaSE 并发包 原子变量操作类
原子变量操作类使用场景在使用volatile修饰变量后,能保证内存可见性,但是并不能保证原子性操作,因此在JUC中补充了一些原子性操作类:AtomicInteger、AtomicLong、AtomicBoolean等。其内部值都是volatile修饰的。源码分析AtomicLong是原子性递增或者递减类,其内部使用Unsafe类来实现。 方法 ...
2019-06-16 17:02:06
583
原创 javaSE 并发编程基础知识
SynchronizeSynchronize是java提供的一种原子性内置锁,也成排他锁、独战锁、互斥锁。进入Synchronize块的语义就是把Synchronize块使用到的变量从工作内存中清除,直接从主存中获取,释放锁就把变量直接写入主存中。VolatileVolatile关键保证一个变量的更新时对其他线程马上可见,读取写入变量时都是直接到主存中。但是volatile只能保证内存...
2019-06-15 17:12:57
556
原创 Spring 事务隔离级别和传播行为
事务隔离级别多个应用程序同时访问同一数据,数据库的数据就会在各个不同的事务中被访问,这样会产生数据丢失更新。为了压制丢失更新的产生,数据库定义了隔离级别的概念。 隔离级别 描述 使用场景 出现坏处 未提交读写(read uncommitted) 允许一个事务读取另一个事务没有提...
2019-06-15 13:33:50
814
原创 javaSE Socket编程,tcp与upd实现
网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP与socket的关系:HTTP是轿车,提供了封装或者显示数据的具体形式。 Socket是发动机,提供了网络通信的能力。socket通讯分为t...
2019-06-11 20:23:57
704
原创 JVM 运行时数据区域,JVM内存模型
模型图程序计数器程序计数器是一块很小的内存,可看做当前线程执行字节码的行号指示器,属于线程私有内存。如果正在执行java方法程序计数器记录的是正在执行虚拟机字节码指令的地址,如果正在执行的是Native方法则值为空(undefined)。该内存是唯一一个在java虚拟机规范中没有规定任何OutOfMemoryError情况的区域。由于程序计数器中存储的数据所占空间的大小不会随程...
2019-06-11 19:21:48
582
原创 java 图片编辑类 Thumbnails 使用
1.引入jar<dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId> <version>0.4.8</version></dependency>2.使用demo...
2019-05-31 15:26:26
1787
转载 java 开发常用的工具类
org.apache.commons.io.IOUtilscloseQuietly:关闭一个IO流、socket、或者selector且不抛出异常,通常放在finally块toString:转换IO流、 Uri、 byte[]为Stringcopy:IO流数据复制,从输入流写到输出流中,最大支持2GBtoByteArray:从输入流、URI获取byte[]...
2019-05-31 11:12:15
469
原创 实现点击图片放大查看功能
1.html 代码<div id="imgEnlargeDiv" style="display: none; text-align: center;position: fixed;z-index: 1000;top: 0;left: 0; width: 100%;height: 100%;background-color: rgba(255,255,255,.9);">...
2019-05-29 11:58:07
9486
原创 HttpRequest中几种常见的ContentType
1.application/x-www-form-urlencoded(1)不属于http content-type规范,通常用于浏览器表单提交,数据组织格式:name1=value1&name2=value2,POSTt时会放入http body,GET时,显示在在地址栏。最常见的 POST 提交数据的方式了。浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就...
2019-05-16 13:33:23
2348
原创 Spring Boot中使用Java8新时间类LocalDateTime、LocalDate等作为传参
一、基础及问题1.java8新时间、日期类有:LocalDate 、LocalDateTime d、LocalTime2.spring mvc使用LocalDate等传值时会报错:Failed to convert property value of type 'java.lang.String' to required type 'java.time.LocalDate' 。MVC ...
2019-05-08 15:48:48
5156
转载 java 性能优化小细节
代码 优化 ,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项...
2019-04-28 14:30:30
567
原创 使用jquery中ajax 上传文件
1.代码html<form id="formImg" action="" onsubmit="ajaxUpload();" enctype="multipart/form-data" method="post"> <input type="file" name="file"> <input type="text" ...
2019-04-28 14:22:04
1323
原创 Thymeleaf模板引入遍历枚举
1.Enum 代码package com.java.enums;public enum SerialEnum { A(1, "A"), B(2, "B"), C(3, "C"); public String key; public String value; public String getKey() { return...
2019-04-28 13:59:00
3517
原创 bootstrap扩展插件bootstrap-notify的使用
1.准备工具:bootstrap-notify的GitHub下载地址:https://github.com/mouse0270/bootstrap-notifybootstrap-notify的官方文档:http://bootstrap-growl.remabledesigns.com/bootstrap-notify依赖的css及js文件:jquery : ...
2019-04-26 17:46:11
4528
1
原创 javaSE-多线程学习
一、Java多线程实现的方式有四种1.继承Thread类,重写run方法public class ThreadDemo01 extends Thread{ public void run(){ //编写自己的线程代码 System.out.println(Thread.currentThread().getName()); } p...
2019-04-23 22:00:21
570
原创 zookeeper连接客户端连接不上,原因及解决方式。
作为初学者主要有以下原因:1.Linux服务端防火墙开启的,拦截了连接请求,可以配置端口,或者关闭防火墙。2.直接用主机名连接的,应现在Windows的host中配置映射。我配置了端口,使用telnet也能联通端口,但是还是连接不起。经过查阅资料后发现:连接操作是异步的(非阻塞连接),如果不做任何处理,可能导致还没连接成功,testConnect方法线程就已经关闭了。这里使用递减...
2019-04-17 16:01:13
15703
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人