自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天高任鸟飞

久坐等于慢性自杀,工作强度,运动强度

  • 博客(1006)
  • 收藏
  • 关注

原创 Spring boot的静态资源映射

静态资源映射创建Web工程 WebMvcAutoConfigurationCtrl+Shift+R 搜索addResourceHandlers resourceProperties可以设置和静态资源有关的参数,缓存时间等 点击,进入 staticPathPattern添加资源映射 点击,进入 getStaticLocations静态资...

2018-09-04 09:54:13 678

原创 Spring boot的Webjars

WebjarsSpring boot 以jar包的方式,引入静态资源创建Web工程 WebMvcAutoConfigurationCtrl+Shift+R 搜索addResourceHandlers /webjars/** 所有/webjars/** 都去classpath:/META-INF/resources/webjars/找资源网址 https://ww...

2018-09-03 10:12:45 300

原创 Spring boot的Web开发

开发步骤第一步,创建SpringBoot应用,选中我们需要的模块 第二步,SpringBoot已经默认,将这些场景配置好了 只需要在配置文件中,指定少量配置就可以运行起来 第三步,自己编写业务代码 自动配置xxxxAutoConfiguration 给容器中,自动配置组件xxxxProperties 配置类,来封装配置文件的内容...

2018-09-03 10:10:02 167

原创 Spring boot的Thymeleaf默认规则

默认规则查看自动配置 ThymeleafThymeleafProperties配置说明DEFAULT_ENCODING,编码规则 DEFAULT_CONTENT_TYPE,文档类型 DEFAULT_PREFIX,文档前缀 DEFAULT_SUFFIX,文档后缀...

2018-09-03 10:08:21 504

原创 Spring boot的Thymeleaf使用

Thymeleaf使用引入Thymeleaf<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>版本配...

2018-09-03 10:06:57 135

原创 Spring boot模板引擎

ThymeleafSpringBoot推荐Thymeleaf模板引擎 语法更简单,功能更强大 引入thymeleaf<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf&...

2018-09-03 10:05:16 561

原创 ConcurrentMap接口

ConcurrentMap接口两个实现 ConcurrentHashMap ConcurrentSkipListMap 支持并发排序功能,弥补ConcurrentHashMapConcurrentHashMap 内部使用段Segment,来表示这些不同的部分 每个段,其实就是一个小的HashTable,它们有自己的锁 只有多个修改操作,发生在不同的段上,就可以并发进行每一个...

2018-09-03 10:03:05 481

原创 CopyOnWrite容器

CopyOnWrite也称为COW,写时复制容器 用于程序设计中的优化策略JDK中COW容器,有两种 CopyOnWriteArrayLIst CopyOnWriteArraySetCOW容器 非常有用,可以在非常多的并发场景中使用 当往一个容器添加元素的时候,不直接往当前容器添加 而是,先将当前容器进行Copy,复制出一个新的容器 然后,新的容器里添加元素实现过程 ...

2018-09-03 10:01:21 445

原创 并发类容器

并发类容器JDK 1.5之后,提供了多种并发类容器 来代替同步类容器,改善性能同步类容器 状态都是串行化的,虽然,实现了线程安全 但是,严重降低了并发性,在多线程环境中 严重降低了应用程序的吞吐量并发类容器 专门针对并发设计 使用ConcurrentHashMap来,代替给予散列的传统的HashTable 在ConcurrentHashMap中,添加了一些常见复合操作的支...

2018-09-03 09:59:24 181

原创 同步类容器

同步类容器是线程安全的但是,在某些场景下 可能需要加锁来保护复合操作复合类操作,比如 迭代,反复访问元素、遍历完容器中所有元素 跳转,根据指定的顺序,找到当前元素的下一个元素 以及条件运算等这些复合操作在多线程,并发的修改容器时 可能会表现出意外的行为,经典的是ConcurrentModificationException 因为,当容器迭代的过程中,被并发的修改了内容 ...

2018-09-03 09:57:25 223

原创 Spring boot指定日志配置

指定日志配置给类路径下,放上每个日志框架,自己的配置文件即可 SpringBoot就不使用,默认配置的了 Spring文件名区别logback.xml 直接就被日志框架识别了logback-spring.xml 日志框架,不直接加载日志的配置项由SpringBoot解析日志配置 可以使用SpringBoot的高级Profile功能 Profile...

2018-09-03 09:52:20 1089

原创 Spring boot默认日志配置

默认日志配置查看依赖包 LoggingBase.xml基本配置 Defaults.xml默认配置

2018-09-02 09:31:13 616

原创 Spring boot切换日志框架

切换日志框架可以按照,SLF4J日志适配图,进行切换 slf4j+log4j切换为,slf4j+log4j方式<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring‐boot‐starter‐web</ar...

2018-09-02 09:29:31 989

原创 Spring boot排除依赖

排除依赖Diagrams——Show Dependencies 打开依赖关系图选中依赖包 右击,Exclude可以直接排除 同时 对应的依赖包下 Pom文件 会删除,对应的依赖关系 ...

2018-09-02 09:26:57 6757

原创 Spring boot其他框架日志

引入其他框架一定要把这个框架 默认日志依赖移除掉Spring框架 用的是commons-logging<dependency> <groupId>org.springframework</groupId> <artifactId>spring‐core</artifactId> <excl...

2018-09-02 09:24:41 217

原创 Spring boot统一日志记录

统一日志记录开发的时候 用到都是一个框架 很多的框架(slf4j+logback):Spring(commons-logging) Hibernate(jboss-logging) MyBatis等等系统统一日志SLF4J操作步骤1、将系统中,其他日志框架先排除出去 只剩下SLF4J日志框架2、用中间包,来替换原有的日志框架 使其他框架,排除日志框架后不会报...

2018-09-02 09:22:58 1147

原创 Spring boot日志使用

日志使用Spring boot默认,配置好了日志@RunWith(SpringRunner.class)@SpringBootTestpublic class SpringBoot03LoggingApplicationTests { //记录器 Logger logger = LoggerFactory.getLogger(getClass()); @...

2018-09-02 09:20:02 232

原创 单例模式与多线程

单例模式常见的饥饿模式和懒汉式模式饥饿模式 直接实例化对象懒汉式模式 在第一次调用方法的时候,进行实例化对象多线程这两种模式,性能与线程安全上都是有问题的 一般使用双重确认,或者静态内部类的方式Dubble check instance Static inner class双重确认package com.bjsxt.base.conn011;pu...

2018-09-02 09:14:46 168

原创 ThreadLocal的使用

ThreadLocal线程局部变量 是一种多线程间,并发访问变量的解决方案与synchronized等加锁的不同 ThreadLocal完全不提供锁,使用以空间换时间的手段 为每个线程提供变量的独立版本,以保障线程安全性能 ThreadLocal不具有绝对的优势 在并发不是很高的时候,加锁的性能会更好作为一套与锁完全无关的线程安全解决方案 在高并发量,或者竞争激烈的场景...

2018-09-02 09:12:32 194

原创 Queue队列使用

Queue队列,支持阻塞机制 阻塞放入与得到数据实现LinkedBlockingQueue 下面的方法put与takePut 把一个Object加入到BlockingQueue里面 如果,BlockQueue没有空间,调用此方法的线程被阻断 直到BlockingQueue里面有空间再继续执行Take 取走BlockingQueue里面,排在首位的对象 如果,Block...

2018-09-02 09:09:44 458

原创 Spring boot日志关系

新建项目右击Diagrams——Show Dependencies 查看依赖关系 Ctrl+滚轮可以缩放场景启动器<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring‐boot‐starter&a

2018-09-02 09:05:07 230

原创 Spring boot日志框架

日志框架日志的抽象层 日志的实现层Spring boot底层,是Spring框架 Spring框架,默认使用JCLSpring boot使用的SLF4J和Logback日志门面,SLF4J 日志实现,Logback...

2018-09-01 10:20:42 231

原创 Spring boot的@Conditional派生注解

@Conditional作用,必须是@Conditional指定的条件成立 才给容器中添加组件,配置文件里面的所有内容才生效自动配置类 必须在一定的条件下才能生效 可以通过,启用 debug=true属性 让控制台打印自动配置报告这样,就可以很方便的知道 哪些自动配置类生效Debug,默认是false True,表示开启Spring boot的debug模式 ...

2018-09-01 10:19:12 1226

原创 CountDownLatch实时通信

CountDownLatch可以实现线程,实时通信Await方法,等待 countDown方法,通知区别CountDownLatch,不需要配合synchronize使用 Wait/notify,必须配合synchronize使用package com.bjsxt.base.conn008;import java.util.ArrayList;import j...

2018-09-01 10:15:47 243

原创 线程通信轮询

轮询方式轮询,可以实现线程通信package com.bjsxt.base.conn008;import java.util.ArrayList;import java.util.List;public class ListAdd1 { private volatile static List list = new ArrayList(); public ...

2018-09-01 10:12:07 367

原创 线程通信wait与notify

Wait/notify可以实现线程间的通信Wait方法,释放锁 Notify方法,不释放锁Wait与notify方法 必须配置synchronize使用package com.bjsxt.base.conn008;import java.util.ArrayList;import java.util.List;import java.util.Queue;impo...

2018-09-01 10:10:01 221

原创 线程通信

线程通信线程是操作系统中独立的个体 但是,这些个体如果不经过特殊的处理,就不能成为一个整体 线程通信,就是成为整体的必要方式之一当线程存在通信指挥 系统间的交互性会更强大,提高CPU利用率的同时 使开发人员对线程任务,在处理的过程中进行有效的把握与监督实现方式Wait/notify方法 可以实现线程间的通信这两个方法,都是Object类的方法 Java所有的对象...

2018-09-01 10:07:52 166

原创 AtomicInteger原子性

AtomicInteger保证多线程,可见变量的原子性package com.bjsxt.base.sync007;import java.util.concurrent.atomic.AtomicInteger;/** * volatile关键字不具备synchronized关键字的原子性(同步) * */public class VolatileNoAtomic e...

2018-09-01 10:04:29 441

原创 Synchronize同步

Volatile多线程之间的可见性 但是,不具备同步性,也就是原子性可以算是一个轻量级synchronized 性能比synchronized强很多,不会造成阻塞在很多开源架构里 比如,netty的底层代码,就大量使用volatile 可见,netty性能一定非常不错Volatile 用于只针对多个线程的可见性的变量操作 并不能,代表synchronize的同步功能...

2018-09-01 10:03:24 622

原创 Volatile可见性

Volatile使变量在多个线程可见 每一个线程都会有一块工作内存区 其中,存放着所有线程共享的主内存中的变量值的拷贝当线程执行时 在自己的工作区内存中,操作这些变量共享内存当主内存中变量值改变时,会写到相应线程的工作内存中 为了存取一个共享变量,一个线程通常,先获取锁定,并去清除它的内存工作区把这些共享变量从所有线程的共享内存中,正确的装载到它自己所在工作内存中,...

2018-09-01 10:00:27 291

原创 SLF4J使用

SLF4JSimple Logging Facade for Java 日志门面,日志系统的Facade 开发的时候 日志记录方法的调用 不应该,来直接调用日志的实现类 而是,调用日志抽象层里面的方法使用方式 给系统里面导入 slf4j的jar logback的实现jarimport org.slf4j.Logger;import org.slf4j.Logge...

2018-09-01 09:58:02 286

原创 Spring boot自动配置使用

自动配置类SpringBoot启动 会加载大量的自动配置类1、需要的功能 有没有SpringBoot默认写好的自动配置类2、这个自动配置类中,到底配置了哪些组件 只要,要用的组件有,就不需要再来配置了3、给容器中,自动配置类添加组件的时候 会从properties类中,获取某些属性 可以在配置文件中,指定这些属性的值xxxxAutoConfigurartion 自动...

2018-08-31 21:45:42 112

原创 Spring boot自动配置示例

自动配置示例HttpEncodingAutoConfiguration Http编码自动配置以该类为例,查看自动配置过程 EnableAutoConfiguration HttpEncodingAutoConfiguration 点击,进入 @Configuration 表示这是一个配置类 与以前编写的配置文件一样,也可以给容器中添加组件@EnableConf...

2018-08-31 21:43:56 286

原创 Spring boot自动配置原理

自动配置原理@SpringBootApplication SpringBoot启动的时候加载主配置类 开启了自动配置功能,@EnableAutoConfiguration 点击,进入 @EnableAutoConfiguration 利用EnableAutoConfigurationImportSelector 给容器中导入一些组件 点击,进入 可以查看 s...

2018-08-31 21:39:22 143

原创 Spring boot配置文件随机数

配置文件随机数随机数 配置文件,可以使用随机数 设置属性的值${random.value}${random.int}${random.long}${random.int(10)}${random.int[1024,65536]}配置方式persion.id=${random.uuid}person.last-name=张三${random.uuid}person...

2018-08-31 21:34:09 909

原创 Spring boot配置文件占位符

配置文件占位符占位符 获取配置文件中,之前配置的属性值如果,没有这个属性 可以是用:指定默认值配置方式persion.id=${random.uuid}person.last-name=张三${random.uuid}person.dog.name=${person.last-name}_dogperson.dog.age=${person.agesss:hello}...

2018-08-31 21:33:01 985

原创 Spring boot外部配置加载顺序

外部配置加载顺序Spring boot 可以从以下位置加载配置优先级从高到低 高优先级的配置,覆盖低优先级的配置 所有的配置,会形成互补配置官网,给出了17个位置 这里,只介绍常用的11个位置1、命令行参数 所有的配置,都可以在命令行上进行指定 多个配置用空格分开 –配置项=值 java -jar spring-boot-02-config-02-0.0.1...

2018-08-31 21:31:49 927

原创 Spring boot配置文件加载位置

配置文件加载位置springboot 启动 会扫描以下位置的application.properties 或者application.yml文件,作为Spring boot的默认配置文件 –file:./config/ –file:./ –classpath:/config/ –classpath:/优先级优先级由高到底所有位置的文件,都会被加载 高优先级配置内...

2018-08-31 21:28:27 167

原创 Spring boot控制台运行

控制台运行Spring boot项目打包之后可以拷贝到指定目录 然后,启动dos窗口,使用命令运行也可以在idea的控制台 使用命令,直接运行打包项目 Terminal,控制台 切换到target目录下,使用命令运行 ...

2018-08-31 21:25:35 2420

原创 Windows文件目录DOS窗口

快捷操作打开指定目录DOS窗口目录地址中,输入命令Cmd 回车,打开指定路径的DOS窗口 打开路径

2018-08-31 21:22:56 250

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除