- 博客(19)
- 收藏
- 关注
原创 Nacos+gateway实现灰度发布
最近在工作中遇到需要使用灰度发布的功能,遇到了很多坑.记录一下!灰度发布的简单介绍:在一般情况下,升级服务器端应用,需要将应用源码或程序包上传到服务器,然后停止掉老版本服务,再启动新版本。但是这种简单的发布方式存在两个问题,一方面,在新版本升级过程中,服务是暂时中断的,另一方面,如果新版本有BUG,升级失败,回滚起来也非常麻烦,容易造成更长时间的服务不可用...
2021-08-12 16:26:44
2655
原创 Synchronized锁升级过程:
1.如果一开始是无锁状态,那么第一个线程获取索取锁的时候,判断是不是无锁状态,如果是无锁(001),就通过CAS将mark word里的部分地址记录为当前线程的ID,同时最后倒数第三的标志位置为1,即倒数三位的结果是(101),表示当前为轻量级锁。下一个如果该线程再次获取该锁的时候,就直接判断mark word里记录的线程ID是不是我当前的线程ID,如果是的话,就成功获取到锁了,即不需再进行CAS操作,这就是相对轻量级锁来说,偏向锁的优势(只需进行第一次的CAS,而无需每次都进行CAS,当然这个理想过程是没
2020-08-27 09:58:57
654
2
原创 jackjson使用
User user = new User(); user.setName("小明"); user.setEmail("xiaoming@qq.com"); user.setAge(20); SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); user.setBirthday(dateformat.parse("2014-1...
2020-06-27 15:51:44
424
原创 wait和sleep的区别
sleep()方法:功能:sleep()方法是Thread类的方法,线程通过调用该方法,进入休眠状态主动让出CPU,从而CPU可以执行其他的线程。经过sleep指定的时间后,CPU回到这个线程上继续往下执行。如何当前线程进入了同步锁,sleep()方法并不会释放锁。即使当前线程使用sleep方法让出了cpu,但其他被同步锁挡住了的线程也无法得到执行。wait()方法:wait()方法可以中断线程的运行,使本线程等待,暂时让出CPU的使用权,并允许其他线程使用这个同步方法。其他线程如果在使用这个同步
2020-06-27 15:51:05
419
原创 按位与,按位或,按位异或,有符号右移和无符号右移
按位与运算符(&)参加运算的两个数,按二进制位进行“与”运算。运算规则:只有两个数的二进制同时为1,结果才为1,否则为0。(负数按补码形式参加按位与运算)即 0 & 0= 0 ,0 & 1= 0,1 & 0= 0, 1 & 1= 1。例:3 &5 即 00000011 & 00000101 = 00000001 ,所以 3 & 5的值为1。按位或运算符(|)参加运算的两个数,按二进制位进行“或”运算。运算规则:参加运算的两个数只
2020-06-19 19:57:26
1096
2
原创 MySql的limit
limit子句用于限制查询结果返回的数量,常用于分页查询格式:select * from tableName limit i,ntableName:表名i:为查询结果的索引值(默认从0开始),当i=0时可省略in:为查询结果返回的数量i与n之间使用英文逗号","隔开limit n 等同于 limit 0,n例子:#查询10条数据,索引从0到9,第1条记录到第10条记录select * from t_user limit 10;select * from t_user limit 0,1
2020-05-31 22:01:55
153
原创 设计模式之:代理模式
增强对象的功能:设计模式:一些通用的解决固定问题的方式 1. 装饰模式 2. 代理模式 概念: 1. 真实对象:被代理的对象 2. 代理对象: 3. 代理模式:代理对象代理真实对象,达到增强真实对象功能的目的代理模式实现方式: 1. 静态代理:有一个类文件描述代理模式 2. 动态代理:在内存中形成代理类 * 实现步骤: 1. 代理对象和真实对象实现相同的接口 2. 代理对象 = P
2020-05-24 14:56:27
256
原创 HTML表单标签(后端记忆点)
HTML标签:表单标签表单: 概念:用于采集用户输入的数据的。用于和服务器进行交互。 form:用于定义表单的。可以定义一个范围,范围代表采集用户数据的范围 属性: action:指定提交数据的URL method:指定提交方式 分类:一共7种,2种比较常用 get: 1. 请求参数会在地址栏中显示。会封装到请求行中(HTTP协议后讲解)。 2. 请求参数大小是有限制的。
2020-05-10 10:52:10
282
原创 HTML表单标签
HTML标签:表单标签表单: 概念:用于采集用户输入的数据的。用于和服务器进行交互。 form:用于定义表单的。可以定义一个范围,范围代表采集用户数据的范围属性: action:指定提交数据的URL method:指定提交方式(get,post) 分类:一共7种,2种比较常用 get: 1. 请求参...
2020-04-30 16:51:48
131
原创 JdbcTemplate
JDBCTemplate:Spring JDBC:Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发步骤:1. 导入jar包2. 创建JdbcTemplate对象。依赖于数据源DataSourceJdbcTemplate template = new JdbcTemplate(database);3. 调用JdbcTemplate的方法来完...
2020-04-29 16:25:22
156
原创 数据库连接池和Druid的概念与代码实现
1. 概念:其实就是一个容器(集合),存放数据库连接的容器。当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象, 用户访问完之后,会将连接对象归还给容器。2. 好处: 1. 节约资源 2. 用户访问高效3. 实现:标准接口:DataSource javax.sql包下的1. 方法:获取连接:getConnectio...
2020-04-29 11:37:38
271
原创 JDBC的连接和参数详解
JDBC的概念:jdbc:Java DataBase Connectivity. Java 数据库连接 java语言操作数据库JDBC的本质: 是官方(sun公司)定以的一套操作所有关系型数据库的规则,即接口.各个数据库厂商去实现这套接口,提供数据库驱动jar包.我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的驱动类.快速入门:步骤:1. 导入驱动jar...
2020-04-28 11:22:18
3958
原创 java小白的学习自述(大三)
自我介绍本人是广州普通二本(2b)的大三在校生.因为过了12点又老一岁,就有感而发,想记录一下自己这一年多的java学习之旅和感想.学习之初我是大二开始学习编程的,因为大一比较浪,逃课,挂科什么的都试过,玩了一年,课也没怎么听.后来觉得这样下去对未来太不负责,怕混了个本科,什么都没学到,毕业后碌碌终生.废话说完了,关于学习,我开始是找了师兄询问的,该学什么怎么学,师兄说的比较简单,然后我...
2020-04-26 23:39:56
1480
5
原创 mysql事务的详解
1. 事务的基本介绍1. 概念:如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败。2. 操作:1. 开启事务: start transaction;2. 回滚:rollback;3. 提交:commit;3. 例子:CREATE TABLE account ( id INT PRIMARY KEY AUTO_INCREMENT, N...
2020-04-24 16:18:13
459
原创 Mysql的三大范式
基本概念:第一范式(1NF):每一列都是不可分割的原子数据项第二范式(2NF):在1NF的基础上,非码属性必须完全依赖于候选码(在1NF基础上消除非主属性对主码的部分函数依赖)第三范式(3NF):在2NF基础上,任何非主属性不依赖于其它非主属性(在2NF基础上消除传递依赖)几个概念:函数依赖:A–>B,如果通过A属性(属性组)的值,可以确定唯一B属性的值。则称B依赖于A例如...
2020-04-23 15:20:03
995
原创 Myqsl常用DOS命令
1.导出整个数据库mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1)mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql2.导出一个表mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名mysqldump...
2020-04-23 11:04:29
576
原创 mysql中null的判断使用
MySQL要进行null的等于判断时,使用is null 或is not null.其它操作符与null操作都是false。如:
2020-04-22 12:17:27
386
原创 Mysql别名的as,与别名的双引号
1. 别名的使用不写as 和 写as 没有区别.如:select name zhangsan from student;select name as zhangsan from cif.student;总结:两者之间没有区别.2. 使用双引号与不使用双引号使用双引号:会将别名解析成双引号里的内容.引号是什么.别名就是什么不使用双引号的话: 即使别名全部命名成小写,也会被解析成大写...
2020-04-21 23:22:03
3394
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅