- 博客(49)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 图文解决github无法访问或者访问速度慢的问题
导致我们hosts的配置经常需要更改,每次上网百度一个有可能当时有用,但是过几天就又不行了,本博客帮你彻底解决这个问题。设置的都没有问题,其网址都可以访问,却单单进不去github。然后重新打开github.com就会提示成功。的时候经常会遇到无法访问,明明自己的。因为github经常换。首先我们到域名查询网站。
2020-07-09 10:11:41
2714
4
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 JAVA界面编程之弹窗、弹框JOptionPane的showMessageDialog方法详解
关于JAVA界面编程,JAVA弹框JOptionPane的showMessageDialog多种重载详解
2019-09-18 15:23:23
61591
13
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 关于WPS目录导航以及文章章节导航显示BUG解决方案
由于工作需要写更新一篇文章,导航和文章章节目录出现了问题,总是显示不全。查阅了各种各样的资料都没有一个解决办法,都是关于目录导航栏的问题以及解决方案,后来自己摸索出了解决办法,现在将这个办法分享给大家。首先是导航目录不显示问题这个时候,点击菜单栏的的视图,如下图然后可以看到有一个导航窗格,我们点击它就可以选择目录导航的显示位置了。然后就是我的文章里有一个章节导航,总是显示不出我所有的...
2019-08-14 18:03:56
17788
原创 【设计模式】原型模式详解
用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对象抽象工厂模式是工厂方法模式的升级版本,工厂方法模式只生产一个等级的产品,而抽象工厂模式可以生产多个等级的产品。
2024-03-25 20:52:39
384
原创 【idea快捷键】idea开发java过程中常用的快捷键
请注意,某些快捷键可能已经被系统或其他插件占用,因此可能无法设置为你想要的组合。在快捷键映射页面,你可以选择要设置快捷键的操作,例如 “Editor Actions”(编辑器操作)、" Navigation"(导航)等。另外,IntelliJ IDEA 还提供了一些预设的快捷键方案,你可以在 “Keymap” 页面中选择不同的方案来适应你的使用习惯。选择 “Settings”(设置)或 “Preferences”(首选项),取决于你使用的操作系统。在弹出的设置窗口中,选择 “Keymap”(快捷键映射)。
2024-03-25 20:30:32
861
原创 【设计模式】抽象工厂模式详解
是一种为访问类提供一个创建一族相关或者相互依赖对象的接口,且访问类无须指定所要产品的具体类就可以得到同一族的不同等级的产品模式结构。抽象工厂模式是工厂方法模式的升级版本,工厂方法模式只生产一个等级的产品,而抽象工厂模式可以生产多个等级的产品。当一个产品族中的多个对象被设计成一起工作时,可以保证客户端始终只使用同一产品族中的对象。当产品族中需要增加一个新的产品时,所有的工厂类都需要进行修改。
2024-03-25 20:29:35
560
原创 【设计模式】工厂方法模式详解
在java中,万物皆对象,这些对象都需要创建,如果创建的时候直接new该对象,就会对该对象耦合严重,假如我们要更换对象,所有new对象的地方都需要修改一遍,这显然违背了软件设计的开闭原则。如果我们使用工厂来生产对象,我们就只和工厂打交道就可以了彻底和对象解耦,如果要更换对象,直接在工厂里更换该对象即可,达到了与对象解耦的目目的;所以说,工厂模式最大的优点就是解耦。
2024-03-25 20:29:25
770
原创 【设计模式】单例模式详解
总体来说,枚举方式实现单例模式是一种简洁高效且安全的方式,适合大多数单例需求,特别是在需要线程安全和避免反射攻击的情况下。然而,如果需要延迟加载或传递参数,枚举方式可能不适用。总体来说,静态内部类实现的单例模式是一种优雅且高效的实现方式,适合大多数情况下的单例需求,尤其适用于需要延迟加载且对线程安全有要求的场景。在实际应用中,双重检查锁单例模式适用于需要延迟加载且对性能要求较高的情况,但需要谨慎考虑线程安全和实现复杂度。
2024-03-21 23:28:01
585
原创 从源码解析AQS
AQS的本质是java中的AbstractQueuedSynchronizer类。AQS是并发包下的一个基类,基于它实现的类包括CountDownLatch,ReentranLock…
2024-03-19 19:57:26
294
原创 【设计模式】设计模式概述和其原则
设计模式是前辈们对代码开发经验的总结,是解决一些特定问题的一系列套路。不是语法规定,也是一套用来提高代码复用性、可维护性、可读性、健壮性和安全性的解决方案。
2024-03-10 16:05:25
598
原创 【MySQL】 隔离级别和锁机制
大多数数据库系统的默认隔离级别(不是Mysql的默认隔离级别),满足了隔离的早先简单定义:一个书屋开始时,只能“看见”已经提交的事务所有的改变,一个书屋从开始到提交前,所做的任何数据该病都是不可见的,除非已经提交。表示当前的操作对整张表加锁,资源开销比行锁少,不会出现死锁的情况,但是发生锁冲突的概率很大。即读取的数据并不一定是最后的结果数据,可能是过程数据。例如有一个事务查询了几列(Row)数据,而另一个事务却在此时插入了新的几列数据,先前的事务在接下来的查询中,就会发现有几列数据是它先前所没有的。
2024-03-04 23:42:23
880
原创 这篇文章让你彻底理解学会多线程和高并发,你看还是不看
博客地址(点击即可访问)github源码地址深刻理解JMM(JAVA内存模型)https://github.com/zz1044063894/JMMprojcetvolatile详解https://github.com/zz1044063894/volatile线程基础,java并发程序基础https://github.com/zz1044063894/thread-base线程进阶,JDK并发包https://github.com/zz1044063894/J...
2021-09-22 15:22:09
178
原创 这篇文章将会彻底让你理解JDK8新特性,你看还是不看
博客地址(点击即可访问)github源码地址Lamda表达式https://github.com/zz1044063894/lambda函数式接口https://github.com/zz1044063894/methodInterface方法引用和构造器引用https://github.com/zz1044063894/qouteStream APIhttps://github.com/zz1044063894/StreamAPI接口中的默认方法与静态方...
2021-09-22 15:21:53
170
原创 DateUtils 日期常用方法工具类
我们在实际开发过程中会经常遇到需要处理日期时间的需求,我在这里整理了一下我常用到的日期时间的函数,包括格式化日期,计算两个日期现相差多少天,计算几天后的日期,计算几天前的日期,两个日期中的每一天,获取日期月份的第一天、最后一天,获取日期是星期几的方法,后期会持续更新 /** * Date format pattern this is often used. */ public static final String PATTERN_YMD = "yyyy-MM-dd.
2021-06-16 15:06:34
518
原创 Linux环境下合并覆盖两个文件夹
场景分析在win环境下,我们经常会对一个文件夹里的部分文件进行修改,而且会新增一部分文件。这个时候我们会用到win自带功能,直接拖拽或者复制粘贴,当有重名的文件夹时,进行覆盖。如下图替换目标中的文件操作当然这个操作在linux也可以实现Linux 命令cp 实现现在我们有两个文件夹text1,text2我们希望把text2中的所有文件粘贴到text1中由于文件迭代目录太深了,我们无法一个一个进行移动,那么可以用到下面的命令cp -frap text1/* text2/命令其实非常简单,解释下
2021-04-02 11:07:50
3446
1
原创 js获取json字符串中的内容
样例1:现在有如下一个js获取到的字符串,我们要解析出code、resultCode2、resultCode1中的数据{ "code":"codeV", "resultCode2":"resultCode2V", "resultCode1":"resultCode1V"}如图的json数据可以使用下面的代码进行解析 var jsonValue = JSON.parse(要解析的字段); console.log(jsonValue); var code = jsonVa
2020-12-04 11:24:53
6578
原创 mysql查询库中所有的表名,表中所有的字段名,查询库中有含有某个字段的表,某个表中含有哪些字段
查询该库中有所有的表名SELECT DISTINCT TABLE_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = '库名';例如:SELECT DISTINCT TABLE_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'information_schema';结果:查询该表中有所有的表名SELECT COLUMN_NAME.
2020-10-30 17:16:24
959
原创 你是否也像我一样不甘平庸但不想努力
这篇博客主要写给自己,看看自己一年多经历的一切。从去年的勉强拼尽全做好工作,到现在的尽力往更好的方向发展,从不想努力到必须努力的心路历程,希望未来不会忘记这份心。希望有和我一样不甘现状但也不愿意努力,觉得人生迷茫的同伴有些许的方向吧,希望大家都可以找到属于自己的动力,迈步向前。
2020-10-24 21:11:20
346
5
原创 高并发分布式下的生成id策略,雪花算法
我们在做生成id算法的时候一般都要求满足以下几点1.全局唯一2.趋势递增3.单调递增4.信息安全5.含时间戳基于以上要求,雪花算法是一个非常不错的选择概述而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移到Cassandra(由Facebook开发一套 开源分布式NoSQL数据库系统)因为Cassandra没有顺序ID生成机制,所以开发了这样一套 全局唯一-ID生成服务。Twitter的分布式雪花算法SnowFlake,经测试snow.
2020-08-02 15:15:04
1213
原创 redis进阶,springboot框架整合redis
springboot框架整合redis整合基础配置1.在pom文件中引入依赖2.在yml或者properties文件中添加reids配置StringRedisTemplate RedisTemplate操作redisStringRedisTemplate基础操作RedisTemplate 存储对象redis基础教程博客可以直接点链接:https://blog.csdn.net/weixin_43876121/article/details/107685817本篇博客源码都可以在下述github中下载获
2020-07-31 12:47:07
157
原创 【redis基础学习】redis的基本概念和基础使用方法
redis学习教程redis的基本介绍什么是redisredis的特点redis的作用为什么要使用redis/缓存五种数据结构Redis Desktop Manager(可视化数据操作redis)命令操作String相关APPEND value(追加一个值到key上)GET key 返回key的value值STRLEN key 获得指定key的value长度应用场景LIST相关LPUSH key value (从队列的左边入队一个或者多个元素)LRANGE 从列表中指定返回元素LPOP 从左边弹出一个元素应
2020-07-30 17:29:02
453
1
原创 一篇博客让你彻底学会和理解java反射
java反射Java反射机制概述Java反射机制应用反射相关的主要API反射前后的比较反射之前我们可以做哪些事使用反射做到反射之前做的事情反射之前做不到的事情Java反射机制概述反射可以说是Java中最强大的技术之一,它可以做的事情太多太多,很多优秀的开源框架都是通过反射完成的。Refledtion (反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。加载完类之后,在堆内存的方法区中就产生了一个
2020-07-29 15:16:17
153
原创 【jdk8新特性】新时间日期API,包看包会
新时间日期API 概念LocalDate、LocalTime、LocalDateTimeInstantDuration和Period时间矫正器DateTimeFormatter时区处理博客地址(点击即可访问)github源码地址Lamda表达式https://github.com/zz1044063894/lambda函数式接口https://github.com/zz1044063894/methodInterface方法引用和构造器引用https://github
2020-07-28 17:48:11
235
原创 【jdk8新特性】 接口中的默认方法与静态方法
接口中的默认方法和静态方法默认方法概念语法注意静态方法概念语法默认方法和静态方法测试实例博客地址(点击即可访问)github源码地址Lamda表达式https://github.com/zz1044063894/lambda函数式接口https://github.com/zz1044063894/methodInterface方法引用和构造器引用https://github.com/zz1044063894/qouteStream APIhttps://git
2020-07-28 11:26:00
138
原创 【jdk8新特性】Stream API,包看包会
Stream API概述什么是Stream流流的操作的三个步骤创建流中间操作筛选和切片映射排序查找与匹配规约与收集终止操作(终端操作)博客地址(点击即可访问)github源码地址Lamda表达式https://github.com/zz1044063894/lambda函数式接口https://github.com/zz1044063894/methodInterface方法引用和构造器引用https://github.com/zz1044063894/qoute
2020-07-27 18:38:44
292
原创 【jdk8新特性】方法引用和构造器引用,包看包会
这里写目录标题方法引用概念主要语法格式注意:构造器引用语法格式:使用方法注意:数组引用博客地址(点击即可访问)github源码地址Lamda表达式https://github.com/zz1044063894/lambda函数式接口https://github.com/zz1044063894/methodInterface方法引用和构造器引用https://github.com/zz1044063894/qouteStream API接口中的默认方法与
2020-07-26 18:18:11
131
原创 【jdk8新特性】函数式接口,包看包会
这里写目录标题概念java8之前已有的函数式接口java8 新增的函数式接口四大核心函数式接口:博客地址(点击即可访问)github源码地址Lamda表达式https://github.com/zz1044063894/lambda函数式接口https://github.com/zz1044063894/methodInterface方法引用和构造器引用Stream API接口中的默认方法与静态方法新时间日期API其他概念函数
2020-07-26 15:37:02
147
原创 【jdk8新特性】Lamda表达式,包看包会
Lamda表达式一级目录二级目录三级目录博客地址(点击即可访问)github源码地址Lamda表达式……函数式接口……方法引用和构造器引用……Stream API$1接口中的默认方法与静态方法$1新时间日期API$1其他$1一级目录二级目录三级目录...
2020-07-26 14:10:57
229
原创 【java虚拟机JVM】理解JVM实现原理
类的加载过程类的加载过程详细拆解运行时数据区的各个数据结构程序计数器Java虚拟机栈本地方法栈Java堆方法区运行时常量法直接内存垃圾回收器和内存分配策略对象是否已死引用计数算法可达性分析算法在谈引用垃圾回收算法分代收集理论标记-清除算法标记-复制算法标记-整理算法垃圾收集器Serial收集器ParNew收集器Parallel Scavenge收集器Serial Old收集器Parallel Old收集器CMS收集器Garbage First收集器类的加载过程类的加载过程分为3个步骤:1⃣️ 加载(L
2020-07-25 15:20:25
425
原创 【JUC多线程与高并发】线程进阶,性能优化之无锁
多线程进阶,性能优化之无锁比较交换(CAS)线程安全整数类:AtomicIntegerjava中的指针:Unsafe类对象引用:AtomicReference带有时间戳的对象引用:AtomicSystemReference无锁数组:AtomicIntegerArray普通变量的原子操作:AtomicIntegerFieldUpdater无锁的Vetory实现博客地址(点击即可访问)github源码地址深刻理解JMM(JAVA内存模型)https://github.com/zz1044
2020-07-24 15:03:47
251
原创 【JUC多线程与高并发】多线程进阶,性能优化之锁优化
多线程进阶,性能优化之锁优化化对于优化锁的建议减少锁持有时间减少锁粒度多用读写锁代替独占锁锁分离锁粗化java虚拟机对锁优化的支持锁偏向轻量级锁自旋锁锁消除ThreadLocal使用方法原理对性能的帮助博客地址(点击即可访问)github源码地址深刻理解JMM(JAVA内存模型)https://github.com/zz1044063894/JMMprojcetvolatile详解https://github.com/zz1044063894/volatile线程基础,
2020-07-23 19:47:04
1449
1
原创 【JUC多线程与高并发】线程进阶,JDK并发包
这里写目录标题博客地址(点击即可访问)github源码地址深刻理解JMM(JAVA内存模型)https://github.com/zz1044063894/JMMprojcetvolatile详解https://github.com/zz1044063894/volatile线程基础,java并发程序基础https://github.com/zz1044063894/thread-base线程进阶,JDK并发包https://github.com/zz1044
2020-07-21 18:06:17
296
原创 【JUC多线程与高并发】线程基础,java并发程序基础
java并发程序基础线程与进程线程的基本操作新建线程终止线程线程中断等待(wait)和通知(notify)挂起(suspecend)和继续执行(resume)等待线程结束(join)和谦让(yield)线程组守护线程(Deamon)线程的优先级线程安全的概念与synchronized并发情况下的不易发现的错误没有提示错误的案例并发下的ArrayList并发下的HashMap错误的加锁线程与进程线程的基本操作新建线程终止线程线程中断等待(wait)和通知(notify)挂起(suspecend)
2020-07-20 18:36:35
351
原创 【JUC多线程与高并发】volatile详解
volatile详解什么是volatilevolatile与JMM(volatile的特点)保证可见性禁止指令重排案例1:结果与分析不保证原子性案例1:案例结果与分析案例2结果与分析volatile与单例模式单线程下的单例模式示例1运行结果与分析多线程下的单例模式代码运行结果与分析什么是volatile我们使用翻译软件翻译一下volatile,会发现它有以下几个意思:易变的;无定性的;无常性的;可能急剧波动的;不稳定的;易恶化的;易挥发的;易发散的。这也正式使用volatile关键字的语义。当你使
2020-07-19 17:23:06
251
原创 【JUC多线程与高并发】深刻理解JMM(JAVA内存模型)
关于JMMJMM(JAVA内存模型JAVA Memory Model,简称JMM)本身是一种抽象的概念==并不真实存在,它描述的是一组规范或规则,通过这组规范定义了程序中的各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式JMM关于同步的规定:1.线程解锁前,必须把共享变量的值刷新回主内存2.线程加锁钱,必须读取主内存的最新值到自己的工作内存3.加锁解锁是同一把锁由于JVM运行程序的实体是线程,而每个线程创建时JV都会为其创建一个工作空间,工作空间是每个线程的私有数据区域,
2020-07-17 18:49:19
424
原创 IDEA如何配置和设置热部署
1.在设置的热部署项目中的pom文件中添加jar包<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional></depende
2020-07-15 10:39:24
191
原创 MySQL将timestamp类型转换为date类型
由于数据库自带锁,无法直接在数据库表中操作,所以只能使用sql语句来更改数据库字段,但是呢,无法直接更改,所以借用了一个中间类型varchar,话不多说,直接上语句ALTER TABLE price_infmodify createtime varchar(32);ALTER TABLE price_infmodify createtime date;原来我的createtime字...
2020-01-04 21:14:32
2829
原创 字符串判断equals和“==”的区别(白话,看完必会)
==:== 比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象。比较的是真正意义上的指针操作。1、比较的是操作符两端的操作数是否是同一个对象。2、两边的操作数必须是同一类型的(可以是父子类之间)才能编译通过。3、比较的是地址,如果是具体的阿拉伯数字的比较,值相等则为true,如:int a=10 与 long b=10L 与 dou...
2019-12-18 17:57:40
318
原创 JAVA链表实现约瑟夫环
import java.util.Scanner;public class YueSeFu { class Node { int data;//数据域 Node next;//指针域 public Node(int data) { this.data = data; } ...
2019-12-13 09:58:33
171
1
原创 对java关键字private、public、protected、default的理解
1. publicpublic表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用,是访问限制最宽的修饰符2. private private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,是对访问权限限制的最窄的修饰符3. protectedprotected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外...
2019-12-12 09:51:45
248
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人