自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王者之峰

互相学习,共同进步

  • 博客(102)
  • 资源 (3)
  • 问答 (41)
  • 收藏
  • 关注

原创 spring 生命周期最详解

目的在大三开始学习spring时,老师就说spring bean周期非常重要,当时也有仔细看,但是说实话搞不大懂,后面工作面试也问过,还是有点模糊,就是没有掌握好,进行深入理解,这次“老大”又问到了。不允许再回避了,所以这次坚决搞明白,理解生命周期作用,为啥要这样设计,我们能在生命周期做哪些更高层次的编程。生命周期流程图先总体看下spring的生命周期流程图,实现(继承)这些接口(...

2017-08-09 19:28:34 67640 6

翻译 Spring Framework Overview

简介官方文档Spring是创建java应用变得更易用。它提供了在企业应用环境中使用java语言所需的一切,支持Groovy和Kotlin作为运行在JVM上的可选语言,并根据应用所需灵活的创建多种框架。从Spring Framework 5.1,Spring 需要JDK 8+(Java SE 8+)并为JDK11 LTS提供开箱即用的支持。建议将Java SE 8 Update 60(java 8)作为最低的补丁版本,但是通常建议使用最新的补丁版本。Spring支持广泛的应用场景。在一个大型的企业中,应

2021-10-14 23:54:59 191

原创 Transaction Management源码阅读路径

前言本文主要记录笔者学习Transaction Management的学习路径,望读者能对比自己的探讨出更优学习路径。官方文档读读的方法

2021-10-14 08:59:28 244

翻译 Spring Framework之Transaction Management

前言 原文链接,本文主要翻译官方文档,同时也会对笔者认为不够清楚的地方加上说明、示例、链接等。Spring Framework事务管理介绍全面事务支持是使用Spring Framework最令人信服的理由之一。Spring Framework为管理事务提供了一致性的抽象,具有以下优点:跨不同事务API的一致性编程模型,例如Java事务API(JTA)、JDBC、Hibernate、Java持久API(JPA)、JDBC、Hiberate、Java持久化API(JPA)和Java数据对象(JDO)。

2021-10-07 20:59:36 980

原创 jvm数据区域

工程运行类信息、常量、静态变量、程序指令、局部变量、操作数栈、方法出入口、动态连接、字面变量、符号引用、对象都存放在哪里呢?当然是放在内存里,今天有复习了一遍jvm,下面是我自己看得笔记。数据库分为线程私有和公有。程序计数器程序计数器是线程私有的,占很小内存,用于存放字节码行号指示器,跳转、分支、循环、异常处理、程序恢复等,java虚拟机规范中没有规定任何OutOfMemoryError情况...

2019-12-17 11:27:15 307

原创 浮点数

定点数计算机有两种小数,定点数和浮点数。定点数指的是小数点后面的位数是固定的。对十进制进行BCD编码,然后加上符号位,0表示正数,1表示负数,转为BCD编码后如果加上4bit符号位是整数字节的话就用4bit,否则用8Bit。如-9.99进行编码后是1.5个字节,那么就用4bit表示符号位,0001-1001-1001-1001,如-99.99进行BCD编码是2个字节那么就用8bit表示符号位...

2019-09-01 23:18:27 4951

原创 0与1的世界

计算机的信息存储和逻辑计算的元数据,因为计算机是由晶体管、电路板组装成的电子设备。生活忠的十进制是"逢十进一",同理0 1表示大于1的数字是"逢二进一",1,2,3,4用二进制表示如果是4电路的话分别是0001,0010,0011,0100。负数表示那么负数怎么表示?规定电路的最左侧一位0表示正数1表示负数,所以8电路的表示范围-1280127。补码为了使减法运算也能使用加法器实现,符号位...

2019-08-09 14:57:38 465

原创 引用

强引用就是GcRoots对象,是栈、方法区、本地里面引用指向对象,比如 A a=new A();软引用就是该引用的对象可有可无,只要不OOM是不会清除的,在内存溢出之前才会纳入gc范围。软引用一般用于一些计算结果和不需要实时获取的用户本身或者行为数据。现在有redis之类的缓存了,一般情况下是用不到软引用去维护用户信息,比如几个业务需要看用户是否购买过第二单,你用软引用是不稳定的服务器重启...

2019-07-30 20:50:34 624

原创 构造器内部的多态方法的行为

例子public class LivingCreature { LivingCreature() { System.out.println("before draw()"); draw(); System.out.println("after draw()"); } void draw() { System...

2019-07-22 10:30:35 194

原创 finalize

前言今天又看了下java编程思想,听实习期间“老大”的,这本书需要看三年,这也是我买这本书的第三年了(没有完整的看完过),每年都会看下,但是每次看感觉都不一样,第一年看是头大,第二年看是勉强能看懂一部分,第三年看会带着工作中的实践去思考,渐入佳境,时间过的太快了我还是没看完,今年必须得看完了,明年再看一遍就不再看了。今天看到finalize有一个实例一直搞不出来,问了下我们公司得架构师,架构师...

2019-06-29 19:52:54 246

原创 java.util.ConcurrentModificationException 详解

问题出现这次写代码写的比较急出现的一个问题,在遍历的时候使用Iterator在删除的时候用了List的remove,就出现了java.util.ConcurrentModificationException;public static void main(String[] args) { List<Integer> li=new ArrayList<Integer&g...

2019-06-21 17:07:14 656

原创 Join连接条件放在on后面好和where的区别

背景有一次跑数据发现连接条件放在on后比放在where慢

2019-05-29 11:03:40 7424 1

原创 Spring声明式事务@Transactional传播行为

propagation = Propagation.REQUIRED默认的传播行为,该方法需要再事务环境下运行,被调用的方法有事务的话就和它在同一个事务下属于平级那一个异常都会回滚,没有就自己开启新的事务,调用别的没事务的方法会把它加到同一个事务中。下面会给出相应example调用A方法 @Transactional(rollbackFor = Exception.class) @O...

2019-03-03 19:15:08 6483

原创 Spring Boot简介、开启与启动分析

简介说实话我之前没有接触过spring boot以为它是个编写应用程序的框架,无知总不能一直无知下去,不懂就要学习。spring boot可以认为是一个快速开发的方式方法,但本质还是spring。用过传统spring方式开发你就会发现xml配置比较烦杂,每次重新建个项目都要去配置下有可能还会配错,虽然项目的业务不同但是你会发现你需要配置的东西差不多是一致的,那么为什么不统一配置使用一些大家都默...

2019-02-26 14:49:32 356

原创 get和post区别

前言post和get是最常见的http请求方法,但是对于它的理解始终不够明白,现在公司的项目全部是用post的请求,虽然上家公司前期用get和post但是后来不管三七二十一全部用post,前端问我为啥全用post我只回答一句post比较安全都懒的深究之前是了解过的post是总体而言比get好,但是现在前端和我说发现请求请求了两次(出现跨域)然后和我说get可以缓存,好吧不清楚,是自己了解不够。既...

2018-12-11 15:26:51 1153

原创 Integer之valueof

问题引入题目输出false的是 Integer i01=59; int i02=59; Integer i03=Integer.valueOf(59); Integer i04=new Integer(59); System.out.println(i01==i02); System.out....

2018-05-28 11:27:00 1160

原创 spring非懒加载的bean实例化源码分析

懒加载和非懒加载懒加载指的是spring容器初始化的时候并不实例,当用到的时候才实例化,需要在标签上指定”lazy-init”属性值为true,用到的时候不只指 直接使用,或者是被别的非懒加载bean依赖了。非赖加载指的是spring容器初始化的时候实例化bean,bean不限制是单例(singleton)还是多例(prototype)但是都只实例一个bean,一般bean都是非懒加载,...

2018-05-21 15:04:32 1130

原创 mysql之explain

explain是提供一些信息关于增删查改(mysql 5.6之前只支持查)是如何执行的命令。 执行结果列下面说明下。 下面例子测试的表CREATE TABLE `test_people` ( `people_id` bigint(20) NOT NULL AUTO_INCREMENT, `last_name` varchar(50) NOT NULL, `fist_name...

2018-05-15 17:31:31 2221

原创 mysql InnoDB引擎的行锁和表锁

引入之前是有接触行锁和表锁但是由于没有实际应用过也只是大概了解,前两天就遇到了并发同时对一条记录进行修改。mysql肯定会让修改请求排队,也就是说加了锁,但是mysql默认加的是表锁,但是会影响效率,所以我们需要用行锁。行锁和表锁表锁:顾名思义就是对整张表进行加锁,同一时刻整张表所有记录都被霸占,虽然不会出现死锁问题但是锁冲突高堵塞高,并发低。行锁:很明显只对某一行进行加锁,这...

2018-04-25 11:07:11 6693 3

原创 spring 实例化配置文件源码分析

引入spring配置文件是怎么实例化的呢?直接调试来看看。package test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Test...

2018-04-19 14:52:09 791

原创 java 获得今天零点时间戳

引入今天在做查询今天某用户的订单数,是想获取今天零点时间戳,只要比今天零点时间戳大的当然是今天的时间戳咯,然后按条件查询就行了。那么今天零点的时间戳怎么获得?时间戳概念时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。这个是百度的。那么就好办了。获得今天零点时间戳下面我取的是今天零...

2018-04-12 15:15:31 22247 4

原创 spring aop

概念aop(Aspect Oriented Programming)面向切面编程,那么面向切面是什么意思呢?第一次接触的时候看着spring大学教程写了一大串文字描述反复用心读了几遍还是似懂非懂,很无奈,为啥书写的那么晦涩,其实本人特别不理解一些概念为啥搞的这么复杂,后来懂了其实并没有那么复杂,严重影响对技术的掌握,还有对简写也比较反感有些简写用的时间太长都很难百度到它的全称,对新学习的人来说...

2018-04-09 21:02:58 532

原创 java的静态代理和动态代理

概念代理我最先接触这个概念应该是设计模式,但是之前没怎么在意,了解的也不深,后来想把spring事务这块研究下又涉及到了spring aop,然后又对spring aop有了新的认识,aop的原理就是动态代理,想要了解动态代理就要了解静态代理。这件事也使我认识一些道理:学习是不可以偷懒的,没学的迟早要补上。想要了解框架就要了解它背后的原理。代理顾名思义就是代替执行任务,jav...

2018-04-09 16:56:06 546

原创 spring配置文件头

之前一直没有注意过spring xml文件头,一直以来都是复制黏贴现成的模板,后来需要加个东西,发现涉及文件头部所以就因此好奇,这个东西是干啥的呢?这个就是文件的头部了,前面的xml:xxx=”URL”都是命名空间, xmlns="http://www.springframework.org/schema/beans"是默认的命名空间。那么什么是命名空间呢?命名空间&lt...

2018-04-08 16:43:46 2793

原创 迭代器

引入一直以来感觉迭代器可有可无,都有for循环遍历为啥还弄个迭代器呢?也没有去在意区别,其实是自己太局限,jdk编写了肯定有它存在的意义。与for循环的区别先上代码List&lt;Integer&gt; l = new ArrayList&lt;Integer&gt;();l.add(1);l.add(2);Iterator&lt;Integer&gt; i=l.it...

2018-03-02 11:57:06 550

原创 Session

介绍产生背景session是为了解决什么问题出现的呢?http是无状态的协议,用户登录网站进来之后需要发送一些请求需要一些“状态”信息,如某些请求需要用户的Id才能完成,怎么知道这个操作用户的Id?那么session就产生了,用户登录之后产生一个session对象,session里面就可以记录这个用户的Id,那么多个客户端都产生了session对象,哪一个才是这个客户端的ses...

2018-02-27 20:51:51 489

原创 数据库该不该使用外键

问题引入以前的意识里都是需要建立外键,外键能起到约束作用,能保证数据的完整性和一直性,比如如果没有外键约束,你自己程序控制又不到位把基本信息都删除了,详情却存在,人的基本信息不存在了,工资信息里却存在这个人,想要找这个人究竟是谁都找不到。今天看到原来的外键都被去掉了,问了下组长,结果回答就两个字“效率”,虽然感觉很诧异,但是毕竟人家比我有经验并没有去争论,下面将站在两个对立面去赞成和反对建

2018-02-06 18:19:10 6631 1

原创 微信公众平台java接入

环境准备java开发环境不必多少,由于微信公众平台是线上平台所以你提供的url肯定是要外网可以访问的,所以我们需要第三方开发平台把我们的内网映射成外网,我使用的是Sunny-Ngrok,免费且方便,进入网页下载客户端,怎么使用后面再说,我们先需要配置隧道如下: 注意:必须以http://或https://开头,分别支持80端口和443端口。本地端口即为本地服务需配置的开通隧道后如下: 本地发布后

2017-10-09 20:52:12 3177 1

原创 并发之对象的组合

前面我们通过线程安全性和并发之对象的共享大概了解了线程安全和同步的一些基本知识。然而我们并不希望每一次内存访问都进行分析以确保是线程安全的。本章介绍一些组合模式,通过...

2017-09-25 09:58:52 657

原创 java i++和++i的区别

java i++和++i的区别

2017-09-21 16:20:32 1740

原创 并发之对象的共享

前面《线程安全性》介绍了竞态条件导致状态共享成为不可能,需要原子性操作,要确保原子性操作需要加锁。可能大家都觉得加锁只是为了确保原子性操作,但是当前线程修改了对象状态之后怎么让其他线程发现呢(内存可见性)? 所以...

2017-09-19 10:06:11 1263

原创 线程安全性

要编写线程安全的代码,其核心在于对状态访问操作进行管理,特别是对共享的和可变的状态进行访问。共享变量是指可由多个线程同时访问,而可变的意味着其值可在其在生命周期内可发生变化...

2017-09-16 17:23:55 596

原创 B+Tree

B+Tree是B-Tree的变型,更适用于文件索引系统。定义B+Tree和B-Tree的差异在于:有n颗子树的节点中含有n个关键字;所有的叶子节点包含了全部关键字信息,以及指向这些关键字记录的指针,且叶子节点本身的关键字按从小到大关键字连接。所有的关键字可以看成索引部分,节点只含一些“界限值”。相同点都是平衡树、左子树关键字小于父结点关键字、最多能有m个子树、最终叶节点...

2017-09-14 19:31:52 1003

原创 B-Tree

以节点为单位进行查找适用于存储在内存中的较小文件,叫做内查找。如果文件很大还用内查找需要频繁的进行内、外存进行交换,很麻烦。B-Tree(平衡多叉树)是一种适用于外查找的数据结构,一般用于磁盘系统管理以及数据库索引组织。平衡树:左右子树的深度之差绝对值不超过1,并且左右子树都是平衡树,控制平衡的原因就是要一视同仁,查找次数取决于深度,这样能控制查找次数差。定义一颗m阶的B-树有以下...

2017-09-14 17:50:47 401 2

原创 平衡二叉树

定义二叉树的查询速度取决于树的结构,树的深度越小查找的平均速度就越小,因此希望二叉树的高度尽可能小。前苏联科学家Adelson-Velskii和Landis......

2017-09-13 17:16:57 1414

原创 二叉排序树

定义二叉排序树(Binary Sort Tree)又称二叉查找树,对排序和查找非常有用的数据结构......

2017-09-13 13:49:27 547

原创 创建mysql性能索引

简介索引在mysql叫做“键(key)”是存储引擎用于快速查找记录的一种数据结构,这是索引的基本功能......索引基础

2017-09-13 09:49:25 434

原创 java8之Lambda表达式

Lamdba的出生Lamdba的出现是解决什么痛点呢?出现之后有没有带来新的问题呢?该不该使用它?什么情况下适合使用它?

2017-08-14 14:49:13 391

原创 Java8之Stream

前言Stream 流?第一眼看起来以为是jdk1.8对I/O流的一个扩充,后来仔细看并不是的......

2017-08-11 14:44:11 334

原创 java 类静态代码块变量和类成员命名一样

java 类静态代码块变量和类成员命名一样

2017-07-25 15:28:43 1362 1

struts2-blank-2.1.6

struts2-blank-2.1.6

2016-12-15

treeset 和 hashlist 实现的扑克牌游戏

JAVA集合框架之List、Map、Set之间的选择~小案例分析:http://blog.csdn.net/qq_23473123/article/details/51240739

2016-04-28

Html5 cavans 交互

Html5 cavans 交互

2016-04-17

spring @Transactional怎么手动提交

2018-05-05

引入的js文件里面$(document).ready比写在页面的先执行?

2018-03-21

后端需要一个json对象,对象里面有map类型属性,前端好像没有map类型数据,那么怎么弄呢?

2018-03-19

在maven里面下载的jar包怎么才能找到api或者怎么读源码

2018-03-09

不知道为什么idea 提交的Messages_zh_CN.properties到git总是乱码

2018-03-01

往redis里面存数据,用了定时器,报错Connection reset by peer

2018-01-30

SchedulerFactoryBean 怎么控制triggers任务

2018-01-18

input框自动消除空格???

2018-01-12

js 下拉框点击触发事件,选择不触发时间,怎么做到

2018-01-08

redistemplate 取出来之后再存放就放不进去,出现异常。

2017-12-20

可配置变量放数据库还是配置文件好??

2017-11-13

设置数据库的字符集和设置表字段字符集的区别是什么

2017-10-31

数据库默认值什么时候需要设置呢?

2017-10-30

什么是散列索引?????

2017-10-19

mysql怎么设置默认值插入时自动插入bingint类型的时间戳?

2017-10-17

不可变对象,对象成员不是基础数据类型感觉都可变啊

2017-09-22

下面代码怎么隐式地使用this引用逸出对象

2017-09-20

synchronized能控制:同一时刻的请求,只要有get就不能set,只要有set就不能get?

2017-09-19

synchronized能控制同一时刻的请求,只要有get就不能set,只要有set就不能get?

2017-09-19

设计表的时候有没有必要设计支付订单和收款订单?

2017-08-29

sku去哪里学习呀,阿里没有官方文档吗?求链接呀??????????

2017-08-21

网络是怎么传输信息的?

2017-07-25

请求是怎么找到url指定的服务器的,网络传输原理??

2017-07-25

SerializableID号是根据类的特征和类的签名算出来的???

2017-07-10

决策树同层的几个节点可能会都是同一属性吗?

2017-04-19

怎么证明信息熵的最大值取决于n

2017-04-18

ID3算法信息熵计算公式

2017-04-16

ID3算法的优缺点????

2017-04-11

什么是盒图啊啊啊???

2017-03-21

什么是数据挖掘????

2017-03-13

int i=(2017<<20)|(2017<<10) i等于多少

2017-01-06

静态变量有什么作用,是不是存在于静态方法才有意义。

2017-01-06

镶嵌在jsp里面的java代码怎么获得页面元素的宽度

2017-01-05

ID3算法中的数据信息熵公式是怎么来的,求推导啊

2017-01-02

表如下图,现在的要求是给定一个日期比如2016/12/28.......

2016-12-28

缺少数据按规则补呢???

2016-12-07

java根据属性名获得属性的get方法

2016-11-22

maven生成站点是干啥的,还有pre-site和site-deploy是干啥的

2016-11-11

InputStream的read的读取数据字节不是指byte吗,“1.txt"是utf-8格式的

2016-10-31

基本类型(int、double、flaot等)创建时不需要new那它的实现原理是?

2016-10-25

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

TA关注的人

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