首页
3D照片墙
统计
留言
Search
1
1.OAuth 的简单理解
115 阅读
2
多个拦截器的执行顺序
105 阅读
3
基于Annotation方式的声明式事务
102 阅读
4
6.设计模式汇总
101 阅读
5
Unity 依赖注入
98 阅读
Java
JDBC
Spring
Spring MVC
SpringBoot
SpringCloud
MybatisPlus
Mybatis
Maven
SpringSecurity
JVM
java注解与反射
Java JUC并发编程
SSM
.NET
IdentityServer4
EF
.Net Core
AbpVNext + DDD
.NET MVC Api
前端
Jquery&JavaScript
uniapp
VUE
Echars
Vue底层原理
Python
Django
软考笔记
软件设计师
1.计算机组成与体系结构
10.面向对象技术
11.UML类图建模
12.面向对象程序设计
13.数据结构
14.算法基础
16.知识产权标准化
17.程序设计语言
2.操作系统
3.数据库
4.数据库设计
5.计算机网络
6.信息安全
7.系统开发基础
8.项目管理
9.数据流图
架构设计
CQRS架构
DDD架构
数据库技术
SQL锁
SqlServer
Oracle 主从备份
Oracle RAC集群
Mysql
云原生/容器技术
kubernetes
Docker
数据结构与算法
常用中间件
Redis
RabbitMQ 消息队列
ElasticSearch
其他
PHP
OAuth 2.0
WebSocket
ArkTs Harmony 开发
运维
Search
标签搜索
排序算法
vue
算法
遍历
docker
线性
数组
dom
synchronized
数据库
xml语言
log4j
bigint
静态函数
静态方法
哈夫曼树
const
冒泡排序
商标设计
命令模式
Bi8bo
累计撰写
304
篇文章
累计收到
6
条评论
首页
栏目
Java
JDBC
Spring
Spring MVC
SpringBoot
SpringCloud
MybatisPlus
Mybatis
Maven
SpringSecurity
JVM
java注解与反射
Java JUC并发编程
SSM
.NET
IdentityServer4
EF
.Net Core
AbpVNext + DDD
.NET MVC Api
前端
Jquery&JavaScript
uniapp
VUE
Echars
Vue底层原理
Python
Django
软考笔记
软件设计师
1.计算机组成与体系结构
10.面向对象技术
11.UML类图建模
12.面向对象程序设计
13.数据结构
14.算法基础
16.知识产权标准化
17.程序设计语言
2.操作系统
3.数据库
4.数据库设计
5.计算机网络
6.信息安全
7.系统开发基础
8.项目管理
9.数据流图
架构设计
CQRS架构
DDD架构
数据库技术
SQL锁
SqlServer
Oracle 主从备份
Oracle RAC集群
Mysql
云原生/容器技术
kubernetes
Docker
数据结构与算法
常用中间件
Redis
RabbitMQ 消息队列
ElasticSearch
其他
PHP
OAuth 2.0
WebSocket
ArkTs Harmony 开发
运维
页面
3D照片墙
统计
留言
搜索到
86
篇与
的结果
2022-04-05
Java json转对象
//响应体返回的json数据 /* { "id": 20, "name": "广西中医药大学附属瑞康医院", "address": "广西", "leavl": "三甲" }, { "id": 21, "name": "广西壮族自治区民族医院", "address": "广西", "leavl": "三甲" }, { "id": 22, "name": "桂林市第二人民医院", "address": "广西", "leavl": "三甲" }, { "id": 23, "name": "山西省长治市中医医院", "address": "山西省", "leavl": "三甲" }, */ String JSonstr = responseStr.body().string(); //转成json列表 JSONArray arrayJson =new JSONArray(JSonstr); //获取第一条 arrayJson.get(0).toString() //将第一条转成JSonObject JSONobject js = arrayJson.getJSONObject(0);
2022年04月05日
71 阅读
0 评论
25 点赞
2022-03-28
死锁
多个线程各自占有一些共享资源﹐并且互相等待其他线程占有的资源才能运行﹐而导致两个或者多个线程都在等待对方释放资源﹐都停止执行的情形﹒**某一个同步块同时拥有“两个以上对象的锁”时,就可能会发生“死锁”的问题.** 产生死锁的四个必要条件: 1.互斥条件:一个资源每次只能被一个进程使用。 2.请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。 3.不剥夺条件:进程已获得的资源,在未使用完之前,不能强行剥夺。 4.循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
2022年03月28日
75 阅读
0 评论
33 点赞
2022-03-25
Java 创建多线程的三种方式
1.继承Thread 类(重点) 说明:继承thread类,重写run方法,调用start开启线程 code: public class TestThread extends Thread { @Override public void run(){ //run方法线程体 for (int i = 0; i < 200; i++) { System.out.println("我在看代码~~"); } } public static void main(String[] args) { TestThread testThread = new TestThread(); testThread.start(); for (int i = 0; i < 200; i++) { System.out.println("我在学习多线程~~"); } } } 2.实现Runnable接口(重点) 实现runnable接口,重写run方法,执行线程需要丢入runnable的实现类,调用start方法 code: public class TestRunnable implements Runnable { @Override public void run(){ //run方法线程体 for (int i = 0; i < 200; i++) { System.out.println("我在看代码~~"); } } public static void main(String[] args) { TestRunnable testRunnable = new TestRunnable(); new Thread(testRunnable).start(); for (int i = 0; i < 200; i++) { System.out.println("我在学习多线程~~"); } } } 3.实现Callable接口 1.实现Callable接口,需要返回值类型; 2.重写call方法,需要抛出异常 3.创建目标对象 4.创建执行服务:ExecutorService ser = Executors.newFixedThreadPool(1); 5.提交执行:Future result = ser.submit(t1) 6.获取结果:boolean b = result.get() 7.关闭服务:ser.shutdownNow(); code: 总结: 1.线程开启不一定执行,由CPU调度 2.不建议使用Thread类:避免OOP单继承局限性 3.推荐使用Runnable接口:避免OOP单继承局限性,灵活方便,方便同一个对象被多个线程使用 4.Callable可以定义返回值可以抛出异常
2022年03月25日
82 阅读
0 评论
40 点赞
2022-03-21
乐观锁插件
1 ,注册组件 // Spring Boot 方式 @Configuration @MapperScan("按需修改") public class MybatisPlusConfig { /** * 旧版 */ @Bean public OptimisticLockerInterceptor optimisticLockerInterceptor() { return new OptimisticLockerInterceptor(); } /** * 新版 */ @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor(); mybatisPlusInterceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor()); return mybatisPlusInterceptor; } } 2 ,在实体类上 加上 version 属性 并添加set get 加上 @version注解 否则不会自增 @Version private int version; 3 测试类 //查询 模拟线程1 MhysCourse mhysCourse1 = mhysCourseMapper.selectById(1L); //修改 mhysCourse1.setCourseName("乐观锁测试模拟线程1"); //查询 模拟线程2 插队 MhysCourse mhysCourse2 = mhysCourseMapper.selectById(1L); //修改 mhysCourse2.setCourseName("乐观锁测试模拟线程2"); //3,更新 mhysCourseMapper.updateById(mhysCourse2); mhysCourseMapper.updateById(mhysCourse1);
2022年03月21日
61 阅读
0 评论
99 点赞
2022-03-20
Formatter 自定义数据绑定 Date类型
<!-- 自定义类型格式化转换器配置 --> <bean id="convertionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> <property name="formatters"> <set> <bean class="com.My.Controller.Fomatter"></bean> </set> </property> </bean> java代码 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import org.springframework.format.Formatter; public class Fomatter implements Formatter<Date> { private String datePattern="yyyy-MM-dd HH:mm:ss"; //声明SimpleDateFormat对象 SimpleDateFormat simpleDateFormat; @Override public String print(Date date, Locale locale) { return new SimpleDateFormat().format(date); } @Override public Date parse(String souce, Locale locale) throws ParseException { simpleDateFormat = new SimpleDateFormat(datePattern); return simpleDateFormat.parse(souce); } }
2022年03月20日
78 阅读
0 评论
14 点赞
1
...
15
16
17
18