自定义博客皮肤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)
  • 收藏
  • 关注

原创 对象锁的同步与异步

Synchronize同步 如果,不是共享的资源 没有必要进行同步Asynchronize异步 相互之间,不受到任何制约比如 http在页面发起Ajax请求,还可以继续浏览 或者操作页面的内容,二者之间没有任何的关系线程安全同步的目的,是为了线程安全线程安全的特点 原子性 可见性...

2018-08-23 09:44:21 154

原创 Thymeleaf行内写法

行内写法Inlining,查询文档 [[…]]表示th:text 会转义特殊字符[(…)]表示th:utext 不会转义特殊字符

2018-08-22 10:17:11 5448

原创 Thymeleaf循环遍历

循环遍历Iteration,查阅文档 th:each 每次遍历都会生成,当前这个标签三个h4标签 一个h4,带着三个span标签<!-- th:each每次遍历都会生成当前这个标签: 3个h4 --><h4 th:text="${user}" th:each="user:${users}"></h4&

2018-08-22 10:16:00 8773

原创 Thymeleaf语法变量

字面量包括字符串、数字、布尔值、null、多个数据格式Literals(字面量) Text literals: ‘one text’ , ‘Another one!’ ,… Number literals: 0 , 34 , 3.0 , 12.3 ,… Boolean literals: true , false Null literal: null Literal tokens...

2018-08-22 10:14:57 2003

原创 Thymeleaf表达式

表达式查看文档 Variable Expressions: ${...}Selection Variable Expressions: *{...}Message Expressions: #{...}Link URL Expressions: @{...}Fragment Expressions: ~{...}${…}获取变量值,底层是OGNL表达式 获取对...

2018-08-22 10:12:59 1127

原创 Thymeleaf语法规则

语法规则th:text 改变当前元素里面的文本内容th:任意html属性; 来替换原生属性的值<!DOCTYPE html><html lang="en" xmlns:th="http://www.thymeleaf.org"><head> <meta charset="UTF‐8"> &l

2018-08-22 10:07:51 450

原创 Thymeleaf文档

文档地址 https://www.thymeleaf.org/documentation.htmlFDF格式文档 可以右击,下载到本地 文档

2018-08-22 10:06:06 1709

原创 Thymeleaf介绍

Thymeleaf是一个模板引擎 与Velocity、FreeMarker类似 可以完全替代JSP模板类型可以处理六种模板 HTML、XML、TEXT、JAVASCRIPT、CSS、RAW特点1、在有网络和无网络的环境下皆可运行 2、开箱即用的特性 3、提供spring标准方言和一个与SpringMVC完美集成的可选模块 可以快速的实现表单绑定、属性编辑器、...

2018-08-22 10:04:38 315

原创 YAML使用

数据类型支持三种数据结构 对象:键值对的集合 数组:一组按次序排列的值 字面量:单个的、不可再分的值snakeyaml Spring Boot使用snakeyaml解析yml文件对象Map对象的一组键值对 使用冒号分隔,注意缩进k: v的方式friends: lastName: zhangsan age: 20行内写法 {k: v}是行内...

2018-08-22 10:01:17 624

原创 YAML介绍

YAMLYAML Ain’t Markup Language 以数据为中心 比如,json、 xml等更适合做配置文件语法格式大小写敏感 使用缩进,表示层级关系缩进时,不允许使用Tab键,只允许使用空格 缩进的空格数目不重要,只要相同层级的元素,左侧对齐即可...

2018-08-22 09:53:46 264

原创 Restful风格

Restful架构1、使用api作为Web上下文 2、增加版本标识 3、标识资源 4、Rest中的HTTP Method 5、Rest中的HTTP Status使用api作为Web上下文http://atguigu.com/apihttp://api.atguigu.com/增强版本标识也有将版本信息,放在HTTP头中http://atguigu.co...

2018-08-22 09:51:57 195

原创 Restful介绍

Restful一种软件架构风格、设计风格,而不是标准 只是提供了一组设计原则和约束条件主要用于客户端和服务器交互类的软件 基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制 Restful应用通过一套统一的接口为Web、iOS和Android提供服务 资源在网络中,以某种表现形式,进行状态转移Resource 资源,即数据 比如,news、use...

2018-08-21 10:40:10 164

原创 PageHelper商品分页实现

商品分页Dubbo分布式服务框架Service,发布服务 Web,引用服务Service@Overridepublic EasyUIDataGridResult getItemList(int page, int rows) { //设置分页信息 PageHelper.startPage(page, rows); //执行查询 TbItemE...

2018-08-21 10:37:20 452

原创 PageHelper使用

PageHelperMybatis分页插件 支持Oracle、Mysql、MariaDB、SQLite、Hsqldb、PostgreSQL六种数据库 不支持SQL Server,Java开发很少使用SQL数据库添加jar包<dependency> <groupId>com.github.pagehelper</groupId> ...

2018-08-21 10:35:15 730

原创 JSR303使用

验证方式用户在前端页面上填写表单时,前端js程序会校验参数的合法性 当数据到了后端,为了防止恶意操作,保持程序的健壮性 后端同样需要对数据进行校验JSR303 是一套JavaBean参数校验的标准,定义了很多常用的校验注解 可以直接将这些注解加在我们JavaBean的属性上面 就可以在需要校验的时候进行校验了引入jar包validation-api-1.1.0. Fi...

2018-08-21 10:31:01 4691 2

原创 JSR 303约束规则

约束规则@AssertTrue / @AssertFalse验证适用字段: boolean 注解说明:验证值是否为 true / false 属性说明: -@DecimalMax / @DecimalMin验证适用字段: BigDecimal,BigInteger,String,byte,short,int,long 注解说明:验证值是否小于或者等于指定的小数值 要...

2018-08-21 10:26:26 1747

原创 JSR303—Bean Validation验证

JSR-303Bean Validation 是 JAVA EE 6 中的一项子规范 官方参考实现是Hibernate Validator 此实现与 Hibernate ORM 没有任何关系Bean字段验证 JSR 303 用于对 Java Bean 中的字段的值进行验证表单数据验证 Spring MVC 3.x 之中也大力支持 JSR-303 可以在控制器中,对表单提...

2018-08-21 10:23:19 218

原创 Quartz关闭超时订单

订单服务用户下单之后会占用库存 如果,用户不处理订单,需要系统自动关闭已经下单的订单比如,秒杀的时候,设置的时间可能非常短 下单之后,需要用户马上付款,否则,马上就会关闭,释放商品的库存 否则,秒杀结束了,某个用户还占用着库存这里,关闭超时2天的订单导入依赖<dependency> <groupId>org.quartz-schedul...

2018-08-21 10:21:21 2257

原创 Quartz整合Spring

操作步骤第一步,引入jar包 第二步,创建Job类 第三步,将Job类配置到Spring容器 第四步,将Job类配置到JobDetail 第五步,配置调度触发器 第六步,配置调度工厂注意 一个Job可以,有多个触发器 一个触发器,只能够触发一个Job引入jar包<dependency> <groupId>org.quartz-s...

2018-08-21 10:18:44 252

原创 Quartz表达式触发

引入jar包<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.2</version></dependency&gt

2018-08-21 10:16:25 229

原创 Quartz简单触发

添加jar包<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.2&

2018-08-21 10:14:07 344

原创 Cron表达式

Cron计划任务,任务在约定的时间,执行已经计划好的工作 可以直接利用在线工具,设置执行时间网址 http://cron.qqe2.com/ 表达式是字符串,实际上是由七子表达式 描述个别细节的时间表,这些子表达式是分开的空白Seconds (秒) 可以用数字0-59 表示 范围0-59,允许字符, - * /Minutes(分) 可以用数字0-59 表...

2018-08-20 10:07:55 373

原创 Quartz框架架构

核心对象Scheduler,核心调度器 Job,任务 JobDetail,任务描述 Trigger,触发器 多个任务

2018-08-20 10:06:01 1933

原创 Quartz介绍

QuartzOpenSymphony开源组织在Job scheduling领域又一个开源项目 可以与J2EE与J2SE应用程序相结合也可以单独使用 Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序Jobs可以做成标准的Java组件或 EJBs 是一个完全由java编写的开源作业调度框架在Job接口实现类里面,添加一些逻辑到execute()方法...

2018-08-20 10:04:01 222

原创 KindEditor使用

KindEditor富文本编辑器 纯JS开发,与后台语言没有关系 此外,还有UEditor、CKEditor等编辑器官网 http://kindeditor.net/demo.php使用方式引入CSS、JS文件 语言包,默认是中文,可加可不加<link href="/js/kindeditor-4.1.10/themes/default/default.css" ...

2018-08-20 09:50:45 1509

原创 JVM中TLAB区

TLAB区配置-XX:+UseTLAB 表示,是否使用TLAB-XX:+TLABSize 表示,设置TLAB大小-XX:TLABRefillWasteFraction 表示,设置进入TLAB空间,单个对象大小是一个比例值,默认为64 如果,对象小于整个空间的1/64,则放在TLAB区 如果,对象大于整个空间的1/64,则放在堆区-XX:+PrintTLAB 表示,查...

2018-08-20 09:46:31 3712 1

原创 JVM中GC小对象配置

小对象配置-XX:+UseTLAB 表示,使用TLABTLABThread Local Allocation Buffer 线程本地分配缓存 一个线程专用的内存分配区域,为了加速对象分配每一个线程,都会产生一个TLAB,该线程独享的工作区域 每一个线程,都会默认使用TLAB区域 TLAB用来避免多线程冲突问题,提高对象分配效率内存大小 TLAB空间一般不会太大...

2018-08-20 09:41:32 268

原创 JVM中GC大对象配置

大对象配置-XX:PretenureSizeThreshold 配置直接进入老年代的对象大小 如果,对象不是太大TLAN区,优先分配空间大对象 新生代eden区,无法装入时,会直接进入老年代 可以配置对象大小,直接进入老年代package com.bjsxt.base001;import java.util.HashMap;import java.util.Map;...

2018-08-20 09:35:20 4908

原创 JVM中GC对象配置

对象年龄配置-XX:MaxTenuring Threshold 配置新生代对象的最大年龄当超过这个年龄,对象就会进入老年代 默认值为15回收过程对象,首次创建都会被放置在新生代的eden区 如果,没有GC,对象不会离开eden区只要,对象的年龄达到了一定的大小 就会自动离开新生代,进入老年代对象年龄 是由对象经历的GC次数决定的,新生代每次GC 只要,对象没...

2018-08-20 09:31:08 423

原创 JVM堆对象初始化

对象初始化对象,首次创建都会被放置在新生代的eden区 如果,没有GC,对象不会离开eden区只要,对象的年龄达到了一定的大小 就会自动离开新生代,进入老年代对象年龄是由对象经历的GC次数决定的 新生代每次GC,只要对象没有回收,年龄都会加1package com.bjsxt.base001;import java.util.HashMap;import jav...

2018-08-20 09:28:10 357

原创 JVM新生代老年代GC分析

新生代复制算法新生代特点 GC频繁、不稳定 每次清理内存,清理的比较多 每次回收耗时非常短比如,有100个对象 可能90个需要清理,只需要复制其中的10个,到另一个内存空间老年代标记压缩法老年代特点 GC不频繁,相对稳定 每次清理内存,清理的比较少 已经经历了很多次的GC 每次回收耗时非常长比如,有100个对象 可能90个都需要压缩拷贝到内存的另一端,...

2018-08-20 09:25:18 1307

原创 JVM堆老年代分配比例

老年代分配-XX:NewRatio 设置老年代与新生代的比例-XX:NewRatio=老年代/新生代 尽可能将对象,预留在新生代 减少老年代的GC次数package com.bjsxt.base001;public class Test02 { public static void main(String[] args) { byte[] b ...

2018-08-19 08:29:26 3026

原创 JVM堆新生代分配比例

新生代分配-XX:SurvivorRatio 设置新生代分配比例表示Eden空间与from/to空间的比例 XX:SurvivorRatio=eden/from=eden/topackage com.bjsxt.base001;public class Test02 { public static void main(String[] args) { ...

2018-08-19 08:26:49 4060

原创 Spring获取属性配置

添加属性文件resource.properties文件内容HTML_OUT_PATH=D:/temp/java/item/加载属性文件springmvc.xml<!-- 加载属性文件 --><context:property-placeholder location="classpath:resource/resource.properties"...

2018-08-19 08:23:52 495

原创 Spring配置Bean的方式

配置Bean基于XML配置Bean 基于注解配置Bean 基于Java类配置Bean基于XML配置ApplicationContext.xml<bean id=“loginUserDao” class=“com.chinalife.dao.impl.LoginUserDaoImpl” lazy-init=“true” init-method=“m...

2018-08-19 08:16:57 360

原创 Spring整合Hibernate

整合Hibernate由 IOC 容器,生成 SessionFactory 对象 使用Spring 的声明式事务LocalSessionFactoryBean 利用 LocalSessionFactoryBean 工厂 Bean 声明一个使用 XML 映射文件的 SessionFactory 实例HibernateTransactionManager 利用 HibernateT...

2018-08-19 08:14:30 186

原创 Freemarker静态化ActiveMQ实现

Freemarker实现商品页面静态化ActiveMQ 使用topic模式,添加商品时 监听到消息,根据商品id 从数据库中查询商品信息,生成静态页面注意 不从redis中获取商品信息 添加商品时,redis没有该商品信息 根据商品id,从数据库中查询商品信息不直接传递商品信息,而是根据id,从数据库中查询 因为,不在一个项目中,静态化页面是一个独立的项目 传输数...

2018-08-19 08:11:55 492

原创 Freemarker商品页面静态化

商品页面静态化静态化资源,不需要Tomcat容器 通过nginx提供http服务,就可以访问输出文件路径,不需要在工程中,定义一个外部路径 输出文件名称,商品id+.html比如,京东的每一个商品详情页 架构设计 静态页面生成 通过ActiveMQ,监听商品的添加事件 在添加商品的时候,生成商品的静态页面项目部署 静态页面生成工程,可以部署在多个服务器上 高可...

2018-08-19 08:10:04 443

原创 Freemarker整合Spring

添加jar包<!-- freemarker --><dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId></dependency>配置文件freeMarkerConfigur

2018-08-19 08:08:19 342

原创 Freemarker模板嵌套

模板嵌套<#include “模板名称”>#include跟模板名称 表示模板嵌套模板<html><head> <title>测试页面</title></head><body> include标签测试: <#include "hello.ftl

2018-08-19 08:06:29 3703

空空如也

空空如也

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

TA关注的人

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