自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 对象的引用

对象的引用对象的引用是地址,只要改变值就可以改变了,不需要在放入了。 if (map.containsKey(end)){ //改变值就可以了 map.get(end).append(line, 0, len).append(";"); }else { //存入的值为对象,所以上面只要改变值就可以了 StringBuffer sb = new St

2020-08-25 16:48:39 204

原创 资源记录

SpringBoot 启动图SpringBoot启动图个人常看公众号Java知音JavaGuideCS-note/2018

2020-07-10 10:19:16 125

原创 leetCode 884题

leetcode 884给定两个句子 A 和 B 。 (句子是一串由空格分隔的单词。每个单词仅由小写字母组成。)如果一个单词在其中一个句子中只出现一次,在另一个句子中却没有出现,那么这个单词就是不常见的。返回所有不常用单词的列表。您可以按任何顺序返回列表。示例 1:输入:A = “this apple is sweet”, B = “this apple is sour”输出:[“sweet”,“sour”]思路统计所有单词出现的次数,如果只出现了一次,就放在返回的数组中代码pub

2020-07-01 16:38:01 221 2

原创 java成神之路的笔记

java成神之路笔记包装类之所需需要包装类,是为了方便用面想对象的方式来使用基本数据类型。比如,map里面只能放object类,这个时候就可以用包装类了。装箱:基础类型到包装类拆箱:包装类到基础类String这里是原话:一旦一个string对象在内存(堆)中被创建出来,他就无法被修改。特别要注意的是,String类的所有方法都没有改变字符串本身的值,都是返回了一个新的对象。如果你需要一个可修改的字符串,应该使用StringBuffer 或者 StringBuilder。否则会有大量时间浪

2020-06-30 10:58:37 98

原创 利用hashmap解题

leecode 刷题笔记leetcode771给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例输入: J = “aA”, S = “aAAbbbb”输出: 3 /** * 先遍历第一个字符串,放入map中,值为0; * 然后遍历第二个字符串,如果map中含有相同的,

2020-06-23 14:06:49 141

原创 Postman极简入门

postman基本使用一般的系统都需要登录才能进入,所以我们需要在网页上登录拿到cookie,放入postman中,如图:然后把浏览器中复制的cookie放入就行了,就可以测试系统中的接口了。post表单请求测试如果是post表单请求,注意着两个地方,Body里面就是放键值对就行了。...

2020-06-23 11:33:33 117

原创 LeetCode-------栈的练习题

LeetCode中关于Stack几道简单的题。1 有效括号 “{([])}” 如果是这种左右括号成对出现的就是有效的,返回true,不是就返回false.思路利用一个栈,左括号先入栈,然后如果有友括号入栈,就同时出栈,这样一直遍历整个字符串,最后判断栈是否为空就行了。public static boolean Valid(String str){ Stack<Character> stack = new Stack<>(); for (char

2020-06-18 14:38:02 147

原创 剑指offer----------删除链表节点

剑指offer--------删除链表中的指点节点package com.cd.sword;/** * @author Chen zhi xiang * @date 2020/6/17 14:09 */class Node{ int val; Node next; Node(int val){ this.val = val; }}public class ListNodeDemo { public static void main(S

2020-06-17 14:41:00 79

原创 Stream流基本使用

##Streadm常见使用link这篇文章讲解了Stream流水线的基本使用,我会在博客中实现文中的代码package com.cd.stream;import java.util.stream.Stream;/** * @author Chen zhi xiang * @date 2020/6/16 15:21 */public class StreamDemo { public static void main(String[] args) { //全变大写

2020-06-16 15:35:06 1180

原创 剑指offer ---------替换空格

剑指Offer — 替换空格package com.cd.sword;/** * @author Chen zhi xiang * @date 2020/6/7 20:38 *//** * 剑指Offer 第3题: 替换空格为 %20“” */public class ReplaceSpace { public static void main(String[] args) { StringBuffer str = new StringBuffer("12 3

2020-06-07 21:02:59 144 2

原创 数据结构-----栈

栈倒序排列数组package com.cd;/** * @author Chen zhi xiang * @date 2020/6/3 16:08 *//** * 用栈 倒序排列数组, 其中peek 是返回栈顶的值, pop 是让栈顶出栈 */public class Stack { public static void main(String[] args) { int[] num = {1,2,30}; print(num); }

2020-06-03 16:16:16 94

原创 读写锁及其基本使用

Juc包里面的读写锁读锁:读取资源的时候加锁,但是其他线程读取的时候不用等到释放锁,可以重复加锁并读取写锁:写资源的时候加锁,其他线程想写必须等待释放。读锁不是独占锁,写锁是独占锁。死锁个人理解:比如A拿到B的资源,然后等B拿到A所需的资源,然后互相等待彼此释放资源,所以无线等待。形成死锁。读写锁基本使用推荐使用juc包里面的重用锁ReentrantReadWriteLock()package com.cd.thread;import java.util.concurren

2020-05-29 22:09:50 364 1

原创 单利模式

双判空加锁单例模式package com.cd.Jvm;/** * @author Chen zhi xiang * @date 2020/5/21 23:57 *//*双判空,加锁单例 */public class Singleton { //volatile 禁止重排序 就不会出现原子错误 private volatile static Singleton instance =null; public Singleton getInstance(){

2020-05-26 20:12:38 86

原创 驾校学车-----多线程api基本使用

多线程驾校学车练习题package com.cd.thread;/** * @author Chen zhi xiang * @date 2020/5/26 19:17 *//** * 需求:模拟学院学车,10个Vip,10个普通学员。 * Vip在普通学院之前结束学车,并且Vip学员的时间比普通的长 */class VipStudent implements Runnable{ @Override public void run() { for (

2020-05-26 19:35:43 305 2

原创 多线程基本概念和使用

多线程在我们一般而言的多线程,其实是继续单核Cpu的。也就是说,其实没有真正的***并发*** 。多线程,其实是线程交替占用cpu。也就是宏观并发,微观串行的。打个比方:5个人站一排同时投篮,我们看着,他们是并发投篮的,但是把速度放慢,就可以看到,其实投篮还是有先后顺序的。main方法main方法,其实就是我们的主线程,也就是线程的入口,其他的线程都要路过他,如果main挂了其他线程也就跟到挂了。如果在main方法中,输入下面的代码,就可以输出main线程的名字(main)://拿到当前线

2020-05-24 15:11:00 244

原创 程序计数器

程序计数器程序计数器可以简单的理解为,.class文件中的行号,起作用如下if()//1{ sout(1)//2 sout(2)//3}else//4{ ....//5 }也就是知道。如果if 成立运行2,3行,不过部成立就运行5行。这就是程序计数器的作用...

2020-05-23 20:03:11 201

原创

完全二叉树:最后一层,也就是叶子节点,全部在左边。完全二叉树可以用数组开实现,这样只要知道跟节点的位置,就可以知道所有的数据位置,同时也没用浪费空间。其他的书,可以考虑用链表实现...

2020-05-19 14:51:17 81

原创 冒泡和插入排序

// 冒泡排序,a表示数组,n表示数组大小public void bubbleSort(int[] a, int n) {if (n <= 1) return;for (int i = 0; i < n; ++i) {// 提前退出冒泡循环的标志位boolean flag = false;for (int j = 0; j < n - i - 1; ++j) {if (a[j] > a[j+1]) { // 交换int tmp = a[j];a[j] = a[j+1

2020-05-19 14:12:46 100

原创 链表

p->next=p->next->next。这行代码表示,p 结点的 next 指针存储了 p 结点的下下一个结点的内存地址。

2020-05-19 13:46:23 81

原创 用Stream封装改善代码

利用Stream流封装Vo楠哥教你学java,笔记

2020-05-07 23:29:50 113

原创 动态规划爬楼梯

动态规划的爬楼梯动态规划的思想,就是保留前两个的状态,可以得到后面一个如下可以吧时间复杂度搞到o(1) public static int function(int n ){ if (n==1) return 1; if (n==2) return 2; int a = 1; int b = 2; int tem...

2020-01-14 10:14:26 139

原创 学习清单

ThreadLocal类的使用,和原理Docker的使用,和在上面部署项目Redis的使用和底层数据结构等等WebSocke的使用和,在线聊天功能的实现有时间看看Mybatis的官方文档...

2019-12-04 08:40:46 94

原创 java 8 新特性 和随机数的生成

今天分享java 8 新特性的 Stream 常用API List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5); //获取每个元素的平方 stream()中的 map() 方法 List<Integer> collect = numbers.stream().map(i -&g...

2019-11-28 16:31:32 1168

原创 LinkedList可以当栈使

java之万万没想到这是我在Java知音网站上看到的LinkedList 其实还继承了队列,和双端队列,所以他可以当栈使,所以就有push,pop方法,源代码如下:public void push(E e) { addFirst(e);} public E pop() { return removeFirst();}...

2019-11-26 17:03:50 536

原创 泛型解惑

泛型擦除笔记泛型信息只存在于代码编译阶段,在进入 JVM 之前,与泛型相关的信息会被擦除掉,专业术语叫做类型擦除

2019-11-26 16:53:19 114

原创 SpringBoot属性提示

如下依赖就是在编辑属性时有提示: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true&...

2019-11-26 11:45:03 100

原创 SpringBoot中多配置文件的迷惑问题

Profile用来针对不同的环境下使用不同的配置文件,多环境配置文件必须以application-{profile}.properties的格式命,其中{profile}为环境标识。比如定义两个配置文件:application-dev.properties:开发环境server.port=8080application-prod.properties:生产环境server.port=80...

2019-11-26 11:25:13 68

原创 Mybatis的一级和二级缓存的区别

mybatis的的一级缓存是SqlSession级别的缓存,一级缓存缓存的是对象,当SqlSession提交、关闭以及其他的更新数据库的操作发生后,一级缓存就会清空。二级缓存是SqlSessionFactory级别的缓存,同一个SqlSessionFactory产生的SqlSession都共享一个二级缓存,二级缓存中存储的是数据,当命中二级缓存时,通过存储的数据构造对象返回。查询数据的时候,查询的...

2019-11-26 09:46:59 298

原创 SpringBoot中的缓存

Spring 3.1 开始对 存提供支持 思路是对方法的缓存 当开发者调用 个方法时,将方法的参数和返回值作为 key value 缓存起来,当再次调用该方法时,如果缓存中有数据,就直接存中获取,否则再去执行该方法但是Spring 只是提供了接口,没有提供具体实现,像Redis这种就是提供了具体实现的东西。 摘取《springgBoot+vue 全栈开发》...

2019-11-22 15:17:21 46

原创 springboot 热部署

springBoot的热部署 是用devtools来干的,原理就是classpath中的文件只要变了,就会重新部署。所以需要在idea中设置自动编译代码,如图:这样改变代码时,classpath 就会变了:在 idea中 classpath 就是targer->classes这个...

2019-11-22 14:08:15 40

原创 跳台阶问题的优化

跳台阶的算法优化原因:因为普通的递归会有很多重复的,比如F(4)=f(3)+f(2),f(3)=f(2)+f(1),这里f(2)就重复了;优化思路,就是把已经算的了放进map中,然后需要的时候取出来 private static int getWays(int n){ HashMap<Integer, Integer> m = new HashMap<&gt...

2019-11-21 10:47:41 249

原创 java资源

推荐自己学的资源github: javaGuide CS-note公众号:江南一点雨,java知音

2019-11-21 09:04:16 58

原创 策略模式

观察者模式3大角色环境(Context)角色:持有一个Strategy的引用。抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口。具体策略(ConcreteStrategy)角色:包装了相关的算法或行为。具体实现我的理解是,就是在Context中注入 ConcreteStrategy引用,然后每个引用中实现了Strat...

2019-11-21 08:51:34 53

原创 SpringBoot笔记

springBoot解惑RestController和Controller的区别:如果返回的是对象就需要第一个,把对象转成json;@RequestParam(“username”) 就是代表页面传输过来的值要对应起来;...

2019-11-20 10:18:44 51

原创 数组算法

在数组中,找出两个数的和等于给定数,并返回下标数组: 可以用hash表保存数组的下标 private static int[] twoSum(int[] nums, int target) { HashMap<Integer, Integer> map = new HashMap<>(); for (int i = 0; i < n...

2019-11-19 14:49:47 82

原创 idea倒入springboot依赖丢失的问题

maven依赖爆红的解决导入springboot出现依赖爆红的错误解决直接maven右上角install导入springboot出现依赖爆红的错误解决直接maven右上角install然后mavenz插件的左上角刷新就可以了...

2019-10-09 11:35:40 503

原创 BootStrap引入注意事项

这里写自定义目录标题在引入BootStrap的js时,要先引入jq的js,然后也可以根据Bootstrap的官网提供的cdn链接在引入BootStrap的js时,要先引入jq的js,然后也可以根据Bootstrap的官网提供的cdn链接...

2019-09-12 11:18:36 323 1

原创 spring boot 打包采坑记录

##springboot 打包踩坑记录用maven 打包后,运行出现如下问题:出现这个的原因是,项目中的资源没有一起打包,比如springboot 的包这些都没有一起打包#解决办法可以用这里的打包工具,这里会去下载jar包欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了...

2019-09-03 22:35:01 197

空空如也

空空如也

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

TA关注的人

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