java
无心211
这个作者很懒,什么都没留下…
展开
-
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 · 2234 阅读 · 0 评论 -
java内部类
静态内部类 static class StaticInnerClass{}成员内部类 private class InstanceInnerClass{}局部内部类 定义在表达式或者方法内部匿名内部类 new Thread().start();内部类的好处作用域不会扩散到包外可以通过类名.内部类名内部类可以访问外部类的所有成员和方法 ...原创 2018-12-18 16:11:40 · 77 阅读 · 0 评论 -
java中的Set
HashSet是使用HashMap来进行实现的set的add方法通过HashMap的put来实现的都是通过HashCode加Equals来实现的上面是其源码Entry定义所以HashSet 不能重复LinkedHashSet完全使用LinkedHashMap这一整套通过super调用相关方法TreeSet底层也是通过TreeMap来实现的 ...原创 2018-12-24 13:06:44 · 143 阅读 · 1 评论 -
java的异常
java的异常都是Throwable的子类分为致命性异常Error和非致命性异常ExceptionError是一个非常特殊的类型异常当系统发生了不可控性错误的时候,例如StackOverflowError和OutOfMemory针对这些异常程序无法处理借助人工来完成,Exception分为checked和unchecked的异常两类checked异常需要在代码中显示的处理,否则会编译出...翻译 2018-12-24 13:52:26 · 118 阅读 · 0 评论 -
java类加载过程
java的类加载器是一个运行时的核心基础设施代码块主要分为Load,Link,Init第一步,Load阶段读取类文件产生二进制流,并转化为特定的数据结构,初步的校验cafe babe魔法数、常量池、文件长度、是否有父类等,然后创建对应的类的java.lang.Class实例第二步,Link阶段包括验证、准备、解析三个步骤。验证是更详细的校验,比如final是否合规、类型是否正确等;...翻译 2018-12-24 16:25:14 · 102 阅读 · 0 评论 -
二分查找java
二分查找算法:前提条件必须是一个有序队列数据二分查找的时间复杂度:n/(2^m)=1 ==> m = log2(n)[表示以2为底n的对数]另外我们会发现Arrays.binarySearch提供的查找排序算法使用的也是二分查找空间复杂度为:O(1) ...原创 2019-01-14 15:34:06 · 169 阅读 · 0 评论 -
冒泡排序算法java
时间复杂度:最好情况是O(n) 最坏情况是n(n-1)/2即是O(n^2) 所以平均复杂度为O(n^2)空间复杂度:O(1)简单冒泡排序算法:原创 2019-01-14 16:08:16 · 110 阅读 · 0 评论 -
java单例模式
单例模式优点: 1、控制资源访问,通过线程同步来控制资源的并发访问 2、控制实例产生的数量以达到对资源的节约 3、作为通信媒介使用,也就是数据共享,它可以在不建立直接关联的条件下,让多个不相关的两个线程或者进程之间实现通信懒汉线程不安全:懒汉线程安全:饿汉式线程不安全:双重锁校验的单例:静态内部类方式:...原创 2019-01-14 16:46:50 · 89 阅读 · 0 评论 -
java工厂模式
工厂模式的优点:1、一个调用只需要知道他的名字就可以,不需要关注创建过程2、扩展性高:扩展时只需要加一个工厂的实现类就可以缺点:随着产品的增加扩展类增加比较多接口:实现类:使用工厂创建对象:升级版:结果输出:抽象工厂方法:1、抽象产品接口,公共暴露方法,便于实际产品实现2、具体产品的类:实际实现业务逻辑的类3、抽象工厂接口...原创 2019-01-14 18:04:47 · 182 阅读 · 0 评论 -
spring security执行流程
启动的时候把userRespository注入进来执行流程首先我们配置SecurityConfiguration它继承WebSecurityConfiguraterAdpter并且实现 configure是释放静态资源还实现了configure(HttpSecurity http)主要是对于url请求资源的拦截处理主要是通过UsernamePasswordAuthe...原创 2019-01-25 15:01:51 · 4342 阅读 · 0 评论 -
java装饰者模式
类图:特点:1、被装饰对象的基类(Component):定义一个接口动态地给这些添加职责2、具体被装饰对象ConcreteComponent:定义一个对象为对象添加职责3、Decorator(装饰者抽象类)维持一个指向Component实例引用,并定义一个与Component一致的接口4、ConcreteDecorator(具体的装饰者)具体的装饰对象,给内...原创 2019-01-15 16:23:32 · 84 阅读 · 0 评论 -
Spring boot学习心得
springboot 注解启动配置:包自动扫描排除:导入自动配置项:通过类加载器扫描自动扫描元素属性: Application.run()方法内部:创建ApplicationContext后执行prepareContext我们都会发现读取bean定义的工厂之后的load方法我们进去观察发现Bean的生产加载spri...原创 2019-01-15 18:05:37 · 2316 阅读 · 0 评论 -
java抽象类abstract和接口interface的区别
抽象类 接口定义关键字 abstract interface 子类继承或实现关键字 extends implement方法实...原创 2018-12-18 15:58:37 · 334 阅读 · 0 评论 -
java中的Map
直接实现Map的Map类 有三个 HashMap HashTable LinkedHashMap同时提供了ConcurrentMap和SortedMap两个接口ConcurrentMap 实现类里面有ConcurrentHashMap 这个线程安全的HashMapConcurrentHashMap的扩容因子为0.75 扩容使用分段锁后续学习默认大小16jdk8 中我们发...原创 2018-12-21 17:19:49 · 88 阅读 · 0 评论 -
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 · 114 阅读 · 0 评论 -
jhipster使用liquibase给实体类添加字段change-set导致changelog改变问题
之前的change-set内容不能修改如果你想添加字段或者外键在这个change-set下面重新写一个change-set原来内容不要发生位置移动不然。changelog会认为你修改了change-set内容你必须要删除之前的建立表正确做法你可以添加任意字段,修改字段类型,和添加外键...原创 2018-11-09 13:47:53 · 2717 阅读 · 0 评论 -
jhipster中liquibase修改decimal字符精度和长度
直接实体类xml文件中添加一个changeset 利用 modifyDataType 原decimal精度和长度修改改后原创 2018-11-09 13:52:54 · 3403 阅读 · 0 评论 -
java堆个人理解
heap是oom发生的聚集地,它存储着几乎所有的对象实例,堆是由垃圾回收器自动回收管理,通常情况下堆占有内存空间是最大的,无节制创建对象会耗尽内存,-Xms256 表示memory start 表示启动时分配内存 - Xmx 1024表示 表示memory max 最大虚拟机分配内存1024兆,服务器运行时不断地扩大收缩内存造成不必要的系统压力通常在线上环境设置一样大堆分成两块一个新生代和老年...原创 2018-12-19 15:12:04 · 111 阅读 · 0 评论 -
java栈个人理解
java虚拟机栈分为(1)局部变量表方法参数和局部变量的存放区域 相对于类变量的初始化和准备阶段必须显示初始化(2)操作栈 是方法执行过程中各种指令栈中写入和读取信息(3)动态链接每个栈帧包含一个常量池对当前方法的引用,目的支持在方法调用过程中动态链接(4)方法返回地址1.正常退出return返回地址2.异常退出返回值压入栈上层调用栈帧异常信息能...原创 2018-12-19 15:35:42 · 101 阅读 · 0 评论 -
java访问控制符
访问控制权限 任何地方 包外子类 包内 类内public true true true trueprotected false ...原创 2018-12-19 20:22:39 · 145 阅读 · 0 评论 -
jdk源码学习之路之Thread和Runable
线程的几个状态 NEW 新建状态 RUNABLE 就绪状态 RUNNING 运行状态 BLOCKED 阻塞状态 DEAD 终止状态NEW 状态通过start() 进入就绪状态 获得时间片进入RUNNING 状态 阻塞状态产生 主动睡眠主动wait 等待IO资源等等阻塞状态解除 IO资源释放 同步代码块释放 睡眠时间结束 notify 进行唤醒实现Callable接口可以带返回值...原创 2018-12-19 22:25:37 · 97 阅读 · 0 评论 -
java的list
ArrayList初始化长度为10底层采用数组实现通过ArrayList的grow方法我们会发现ArrayList采用的是1.5扩容Vector jdk1.0提供底层也是通过数组实现,初始长度也是10 数组扩容是两倍详细如下图源码数组依据初始长度扩容倍数新旧数组扩容因子线程安全实现通过使用SSynchronized关键字实现线程...原创 2018-12-19 22:52:51 · 98 阅读 · 0 评论 -
this和super
this和super能够省略情况本类方法调用本类属性本类方法调用本类的另一个方法this先查找本类,没有则找父类this访问本类的属性和方法this单独使用表示当前对象super : 由子类访问父类中实例中的属性和方法 直接查找父类 在子类覆写父类方法时访问父类的同名方法 this和super都在实例化阶段调用所以不能在静态方法和静态...原创 2018-12-20 21:42:04 · 130 阅读 · 0 评论 -
静态代码块和静态方法
静态代码块优先于构造方法,静态代码块不能存在任何方法体内包括静态方法和属性变量静态代码块和静态方法都是启动载入唯一区别静态代码块自动执行的静态代码块调用才能执行静态变量属于这个类他不属于任何对象的...翻译 2018-12-20 21:56:45 · 522 阅读 · 0 评论 -
java的引用类型
强引用直接通过new的方式创建引用类型只要有对象只想该引用并且GC roots可达java内存回收时即使内存耗尽也不会回收该对象软引用 即Soft Reference引用弱于强引用 是用在非必需对象的场景在即将OOM之前垃圾回收器垃圾回收器这些软引用指向的对象加入回收范围已获得更多的内存空间弱引用 Weak Reference 引用较前两者更弱如果弱引用指向的对象这一条线路则会在下一次YG...原创 2018-12-21 12:00:29 · 125 阅读 · 1 评论 -
spring事务处理
默认情况下spring事务只对RuntimeException方法进行回滚,所以如果将RuntimeException替换为Exception不会产生回滚效果的开启事务后,我们会发现通过AnnotationDrivenBeanDefinitionPaser进行解析类AbstractFallbackTransactionAttributeSource中computeTransac...原创 2019-01-15 23:07:46 · 146 阅读 · 0 评论