自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 spring security执行流程

启动的时候把userRespository注入进来执行流程首先我们配置SecurityConfiguration它继承WebSecurityConfiguraterAdpter并且实现 configure是释放静态资源还实现了configure(HttpSecurity http)主要是对于url请求资源的拦截处理主要是通过UsernamePasswordAuthe...

2019-01-25 15:01:51 4421

原创 MySQL学习心得

mysql的三种锁:表锁:开销小加锁快,不容易出现死锁。缺点:并发低行锁:开销大,加锁慢,容易出现死锁。优点:并发高页面锁:开销和加锁时间介于表锁和行锁之间,会出现死锁。锁定粒度介于表锁和行锁之间。并发一般Mysql的存储引擎MYISAM不支持事务,每次操作都是原子操作支持表级锁,每次操作都是对表加锁一个MYISAM 分为三个部分索引文件、数据文件、表结构文件采...

2019-01-16 11:28:39 440

原创 spring事务处理

默认情况下spring事务只对RuntimeException方法进行回滚,所以如果将RuntimeException替换为Exception不会产生回滚效果的开启事务后,我们会发现通过AnnotationDrivenBeanDefinitionPaser进行解析类AbstractFallbackTransactionAttributeSource中computeTransac...

2019-01-15 23:07:46 154

原创 Spring boot学习心得

springboot 注解启动配置:包自动扫描排除:导入自动配置项:通过类加载器扫描自动扫描元素属性: Application.run()方法内部:创建ApplicationContext后执行prepareContext我们都会发现读取bean定义的工厂之后的load方法我们进去观察发现Bean的生产加载spri...

2019-01-15 18:05:37 2336

原创 java装饰者模式

类图:特点:1、被装饰对象的基类(Component):定义一个接口动态地给这些添加职责2、具体被装饰对象ConcreteComponent:定义一个对象为对象添加职责3、Decorator(装饰者抽象类)维持一个指向Component实例引用,并定义一个与Component一致的接口4、ConcreteDecorator(具体的装饰者)具体的装饰对象,给内...

2019-01-15 16:23:32 93

原创 java工厂模式

工厂模式的优点:1、一个调用只需要知道他的名字就可以,不需要关注创建过程2、扩展性高:扩展时只需要加一个工厂的实现类就可以缺点:随着产品的增加扩展类增加比较多接口:实现类:使用工厂创建对象:升级版:结果输出:抽象工厂方法:1、抽象产品接口,公共暴露方法,便于实际产品实现2、具体产品的类:实际实现业务逻辑的类3、抽象工厂接口...

2019-01-14 18:04:47 203

原创 java单例模式

单例模式优点:  1、控制资源访问,通过线程同步来控制资源的并发访问 2、控制实例产生的数量以达到对资源的节约 3、作为通信媒介使用,也就是数据共享,它可以在不建立直接关联的条件下,让多个不相关的两个线程或者进程之间实现通信懒汉线程不安全:懒汉线程安全:饿汉式线程不安全:双重锁校验的单例:静态内部类方式:...

2019-01-14 16:46:50 106

原创 冒泡排序算法java

时间复杂度:最好情况是O(n) 最坏情况是n(n-1)/2即是O(n^2) 所以平均复杂度为O(n^2)空间复杂度:O(1)简单冒泡排序算法:

2019-01-14 16:08:16 128

原创 二分查找java

二分查找算法:前提条件必须是一个有序队列数据二分查找的时间复杂度:n/(2^m)=1 ==> m = log2(n)[表示以2为底n的对数]另外我们会发现Arrays.binarySearch提供的查找排序算法使用的也是二分查找空间复杂度为:O(1) ...

2019-01-14 15:34:06 184

翻译 java类加载过程

java的类加载器是一个运行时的核心基础设施代码块主要分为Load,Link,Init第一步,Load阶段读取类文件产生二进制流,并转化为特定的数据结构,初步的校验cafe babe魔法数、常量池、文件长度、是否有父类等,然后创建对应的类的java.lang.Class实例第二步,Link阶段包括验证、准备、解析三个步骤。验证是更详细的校验,比如final是否合规、类型是否正确等;...

2018-12-24 16:25:14 118

翻译 java的异常

java的异常都是Throwable的子类分为致命性异常Error和非致命性异常ExceptionError是一个非常特殊的类型异常当系统发生了不可控性错误的时候,例如StackOverflowError和OutOfMemory针对这些异常程序无法处理借助人工来完成,Exception分为checked和unchecked的异常两类checked异常需要在代码中显示的处理,否则会编译出...

2018-12-24 13:52:26 134

原创 java中的Set

HashSet是使用HashMap来进行实现的set的add方法通过HashMap的put来实现的都是通过HashCode加Equals来实现的上面是其源码Entry定义所以HashSet 不能重复LinkedHashSet完全使用LinkedHashMap这一整套通过super调用相关方法TreeSet底层也是通过TreeMap来实现的 ...

2018-12-24 13:06:44 159 1

原创 java中的Map

直接实现Map的Map类 有三个 HashMap HashTable LinkedHashMap同时提供了ConcurrentMap和SortedMap两个接口ConcurrentMap 实现类里面有ConcurrentHashMap 这个线程安全的HashMapConcurrentHashMap的扩容因子为0.75 扩容使用分段锁后续学习默认大小16jdk8 中我们发...

2018-12-21 17:19:49 95

原创 java的引用类型

强引用直接通过new的方式创建引用类型只要有对象只想该引用并且GC roots可达java内存回收时即使内存耗尽也不会回收该对象软引用 即Soft Reference引用弱于强引用 是用在非必需对象的场景在即将OOM之前垃圾回收器垃圾回收器这些软引用指向的对象加入回收范围已获得更多的内存空间弱引用 Weak Reference 引用较前两者更弱如果弱引用指向的对象这一条线路则会在下一次YG...

2018-12-21 12:00:29 136 1

翻译 静态代码块和静态方法

静态代码块优先于构造方法,静态代码块不能存在任何方法体内包括静态方法和属性变量静态代码块和静态方法都是启动载入唯一区别静态代码块自动执行的静态代码块调用才能执行静态变量属于这个类他不属于任何对象的...

2018-12-20 21:56:45 534

原创 this和super

this和super能够省略情况本类方法调用本类属性本类方法调用本类的另一个方法this先查找本类,没有则找父类this访问本类的属性和方法this单独使用表示当前对象super :     由子类访问父类中实例中的属性和方法     直接查找父类    在子类覆写父类方法时访问父类的同名方法  this和super都在实例化阶段调用所以不能在静态方法和静态...

2018-12-20 21:42:04 152

原创 java的list

ArrayList初始化长度为10底层采用数组实现通过ArrayList的grow方法我们会发现ArrayList采用的是1.5扩容Vector jdk1.0提供底层也是通过数组实现,初始长度也是10 数组扩容是两倍详细如下图源码数组依据初始长度扩容倍数新旧数组扩容因子线程安全实现通过使用SSynchronized关键字实现线程...

2018-12-19 22:52:51 112

原创 jdk源码学习之路之Thread和Runable

线程的几个状态 NEW 新建状态  RUNABLE 就绪状态  RUNNING 运行状态 BLOCKED 阻塞状态 DEAD 终止状态NEW 状态通过start() 进入就绪状态 获得时间片进入RUNNING 状态 阻塞状态产生 主动睡眠主动wait 等待IO资源等等阻塞状态解除 IO资源释放 同步代码块释放 睡眠时间结束 notify 进行唤醒实现Callable接口可以带返回值...

2018-12-19 22:25:37 109

原创 java访问控制符

访问控制权限      任何地方            包外子类            包内            类内public                      true                   true                   true            trueprotected                false            ...

2018-12-19 20:22:39 157

原创 java栈个人理解

java虚拟机栈分为(1)局部变量表方法参数和局部变量的存放区域 相对于类变量的初始化和准备阶段必须显示初始化(2)操作栈 是方法执行过程中各种指令栈中写入和读取信息(3)动态链接每个栈帧包含一个常量池对当前方法的引用,目的支持在方法调用过程中动态链接(4)方法返回地址1.正常退出return返回地址2.异常退出返回值压入栈上层调用栈帧异常信息能...

2018-12-19 15:35:42 120

原创 java堆个人理解

heap是oom发生的聚集地,它存储着几乎所有的对象实例,堆是由垃圾回收器自动回收管理,通常情况下堆占有内存空间是最大的,无节制创建对象会耗尽内存,-Xms256 表示memory start 表示启动时分配内存 - Xmx 1024表示 表示memory max 最大虚拟机分配内存1024兆,服务器运行时不断地扩大收缩内存造成不必要的系统压力通常在线上环境设置一样大堆分成两块一个新生代和老年...

2018-12-19 15:12:04 121

原创 java内部类

静态内部类 static class StaticInnerClass{}成员内部类 private class InstanceInnerClass{}局部内部类 定义在表达式或者方法内部匿名内部类 new Thread().start();内部类的好处作用域不会扩散到包外可以通过类名.内部类名内部类可以访问外部类的所有成员和方法 ...

2018-12-18 16:11:40 92

原创 java抽象类abstract和接口interface的区别

                                     抽象类                               接口定义关键字                   abstract                         interface 子类继承或实现关键字  extends                       implement方法实...

2018-12-18 15:58:37 351

原创 jhipster中liquibase修改decimal字符精度和长度

直接实体类xml文件中添加一个changeset 利用 modifyDataType 原decimal精度和长度修改改后

2018-11-09 13:52:54 3468

原创 jhipster使用liquibase给实体类添加字段change-set导致changelog改变问题

之前的change-set内容不能修改如果你想添加字段或者外键在这个change-set下面重新写一个change-set原来内容不要发生位置移动不然。changelog会认为你修改了change-set内容你必须要删除之前的建立表正确做法你可以添加任意字段,修改字段类型,和添加外键...

2018-11-09 13:47:53 2738

原创 jhipster自定义异常处理

ExceptionTranslator  是jhipster自己提供异常处理机制,其中org.zalando.problem.Problem#getDetail可以拿到异常发生的信息,getStatus来获取状态码,定制自己异常返回格式,就可以了...

2018-03-12 22:44:34 831

原创 jhipster修改实体

jhipster除了官方解决方案外,由于jhipster采用liquibase生成日志文件每次修改都会产生日志信息,建议弃用liquibase直接修改domian还有liquibase的xml文件添加响应字段,同时删除表生成的log信息,重新启动项目即可...

2018-03-12 11:22:44 957

原创 jhipster的elasticsearch学习心得2

jhipster自动生成的_search搜索queryStringQuery的Builder指定defaultOpertor可以指定搜索分词是采用or还是and还可以通过field来制定搜索的属性

2018-03-08 15:34:07 593

原创 心得java实体类

Java实体类创建的时候最好使用Integer等包装类型不然,当出现null的时候get方法返回值不是int类型会报空指针异常

2018-03-08 10:43:38 367

原创 jhipster自定义拦截器

jhipster自定义拦截器一般添加在LocaleConfiguration

2018-03-07 22:45:53 463

原创 jhipster的 实体类创建

通过http://www.jhipster.tech/creating-an-entity/你可以进入官方方案找到对应的实体类创建规则对于jhipster 创建实体类采用的命令jhipster实体类文件默认放到项目根目录下面cd 进入项目根目录执行 jhipster import-jdl 实体.jdl 可以生成相应的controller和dao你需要的东西...

2018-03-07 22:27:52 1277

原创 jhipster删除实体类所造成的错误

当我们删除一个不同目录下相同实体类的时候由于jhipster采用CacheConfiguration来保存你每次创建实体类产生cache信息这样就造成了报Bill的cache信息已经创建了只需要删除不是对应目录下的cacheconfiguration中的对应信息就可以了...

2018-03-07 22:22:29 552

原创 jhipster属性字段精度问题

jhipster默认采用的是scale是2 如果你想改变其精度那么你需要把liquibase中的xml文件的精度,修改为你指定的要求还有domain一些信息也要跟着相应的改变

2018-03-07 22:17:59 263

原创 jhipster的一些操作

jhipster是spring boot 脚手架项目,安全管理器采用的是auth2,校验数据库采用的是liquibase每一次修改都会产生相应的log信息这样每次修改entity属性信息的时候不会导致log信息发生改变一旦log信息发生了改变那么都会都会报log信息不一致的错误解决方案databasechangelog找到相应的表对应的log信息删除,如果字段信息发生改变那么就需要jpa生成的相应...

2018-03-07 22:14:45 353

原创 git 分支操作

通过 git checkout -b 分支    --名创建分支通过 git checkout 分支名     --进行分支切换通过 git push --set-upstream  分支名    -- 提交修改到分支通过 git branch -a   --查看所有分支信息通过 git branch -vv  --查看当前分支...

2018-03-07 21:58:48 95

原创 git命令基本使用

作为初学者队友git的命令操作自己还是比较菜的git 添加公钥之后选择 项目ssh 粘贴 URL新建一个目录右键选择 git hash通过 git clone URL可以下载你们的项目到本地通过 git status 可以查看你最近项目最修改了什么通过 git add . 可以添加所有修改通过 git commit -m “描述信息对于本次提交的问题解释”通过 git push master 把你...

2018-03-07 21:54:15 129

原创 git公钥生成和添加

下载git 进行安装 git 生成ssh key  ssh-keygen -t rsa -C "18848956826@163.com"公钥位于C:\Users\lwx\.ssh 文件下找到    id_rsa.pub 文件将其中的内容加入到 你的github 设置中的 seting 中有个ssh keys 选项添加粘贴进去就好了...

2018-03-07 21:47:14 2246

空空如也

空空如也

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

TA关注的人

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