codeMonkey-吉
码龄1年
关注
提问 私信
  • 博客:35,289
    35,289
    总访问量
  • 47
    原创
  • 260,654
    排名
  • 417
    粉丝
  • 0
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:陕西省
  • 加入CSDN时间: 2023-07-12
博客简介:

ji_xin0721的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    3
    当前总分
    392
    当月
    0
个人成就
  • 获得552次点赞
  • 内容获得14次评论
  • 获得466次收藏
创作历程
  • 30篇
    2024年
  • 17篇
    2023年
成就勋章
TA的专栏
  • 线程
    3篇
  • java
    8篇
  • MyBatis
    6篇
  • 数据库
    9篇
  • shiro
    4篇
  • vue
  • map
    1篇
兴趣领域 设置
  • Java
    eclipsejavaspringlog4j
  • 前端
    html5javascriptcssbootstrap
  • 移动开发
    微信小程序
  • 运维
    linux
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

179人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

synchronized同步锁

综上所述, 在sleep休眠过程中,当前线程不会让出持有的(“this”)锁,此时会出现异常情况,只有一个线程在执行,剩余线程处于Blockteb阻塞状态,而在wait计时等待过程中,当前线程会释放锁。思路:将数字,和字母分开,一个线程控制数字输出,另一个线程控制字母输出,即输出数字后,数字线程进入等待,同时唤醒字母线程,反之,输出字母时,字母程进入等待,同时唤醒数字线程。互斥锁实现线程之间的切换,需要从“用户态”切换到“内核态”,付出高昂的代价,会导致性能下降。只有一个线程执行的场景,使用偏向锁;
原创
发布博客 2024.02.28 ·
1108 阅读 ·
24 点赞 ·
0 评论 ·
21 收藏

线程池的常用接口实现及执行流程

4.如果线程池里面存活的线程数已经等于核心线程数了,且阻塞队列已经满了,再会去判断当前线程数是否已经达到最大线程数 maximumPoolSize,如果没有达到,则会调用 addWorker() 方法创建一个非核心线程去执行任务;3.如果工作线程数大于核心线程数,即线程池核心线程数已满,则新任务会被添加到阻塞队列中等待执行,当然,添加队列之前也会进行队列是否为空的判断;2、maximumPoolSize:最大线程数,线程池中最多线程,包含核心线程数,不能小于核心线程数。
原创
发布博客 2024.02.25 ·
515 阅读 ·
9 点赞 ·
0 评论 ·
7 收藏

java中反射详解

反射是Java语法的一种高级特性,在“运行期间”对Java的类型信息进行检查、操作处理。例如:加载JDBC驱动类、MyBatis动态处理resultType、Spring根据配置信息创建Bean对象等使用场景。
原创
发布博客 2024.02.22 ·
924 阅读 ·
20 点赞 ·
0 评论 ·
20 收藏

线程基础详解

两个线程同时竞争synchronized锁时,获取锁的线程处于RUNNABLE运行状态,未获取锁的线程处于BLOCKED阻塞状态;join()方法通过wait()实现,是被插队的线程(主线程),处于等待状态。将子线程设置为守护线程,当主线程结束时,守护线程一起结束。所有用户线程执行结束后,JVM虚拟机会自动退出;守护线程执行结束后,JVM虚拟机不会自动退出;调用构造方法后,线程处于新建状态;调用构造方法后,线程处于新建状态;等待时间结束后,自动唤醒。设置当前线程为中断状态。创建Thread对象。
原创
发布博客 2024.02.22 ·
1023 阅读 ·
32 点赞 ·
0 评论 ·
23 收藏

MyBatis详解(6)-- 分页及缓存

根据各类不同的缓存机制,自定义缓存的实现方式。实现 org. apache. ibatis. cache. Cache 接口自定义缓存;引入 Redis 等第三方内存库作为 MyBatis 缓存。
原创
发布博客 2024.01.29 ·
1843 阅读 ·
40 点赞 ·
0 评论 ·
30 收藏

MyBatis详解(5)-- MyBatis注解

XML配置方式的动态SQL,是用< script >的方式把它照搬过来,用注解来实现。适用于xml配置转换到注解配置。:配置文件和接口直接只是名称相同,对应起来比较麻烦.:配置文件的书写本身繁琐,需要掌握的内容比较多。:实现动态 SQL 的内容(推荐)
原创
发布博客 2024.01.28 ·
557 阅读 ·
7 点赞 ·
0 评论 ·
12 收藏

MyBatis详解(4) -- 动态SQL

choose 元素(优先):(when,otherwise)多条件分支判断,等同于 java 的 switch。trim:(万能元素)(where,set):辅助元素,用于处理一些SQL 拼接的问题.根据不同条件拼接 SQL 语句,实现对数据库更准确的操作;​ #{},防止SQL注入的占位符,防止SQL注入。prefixOverrides:之前的后面要去除的字符。suffixOverrides:后面要去除的字符。if 元素:判断语句,单条件分支判断.prefix :之前要添加的字符。
原创
发布博客 2024.01.28 ·
781 阅读 ·
24 点赞 ·
0 评论 ·
10 收藏

MyBatis详解(3)-- 动态代理及映射器

selectKey >用来预先设定主键值。自定义主键生成规则时,可以使用该标签;order属性:取值 BEFORE,AFTER;
原创
发布博客 2024.01.28 ·
1290 阅读 ·
19 点赞 ·
0 评论 ·
20 收藏

MyBatis详解(2)-- mybatis配置文件

并且在映射文件中的namespace属性的value,要指定为mapper映射文件的路径。​ < e n v i r o m e n t >:单个数据库环境信息的标识。2.MyBatis最为核心的内容,对MyBatis的使用影响很大。< dataSource >:配置环境信息中数据源连接的信息。:配置属性的元素,可以在配置文件的上下文中使用该属性。:配置数据库环境信息,注册数据源,配置数据库事务。:标识配置文件的起始,所有配置信息都存放在这里。< property >:配置环境信息的属性;
原创
发布博客 2024.01.24 ·
890 阅读 ·
13 点赞 ·
0 评论 ·
10 收藏

MyBatis详解(1)-- ORM模型

4.对结果集解析麻烦,sql变化导致解析代码变化,且解析前需要遍历,如果能将数据库记录封装成pojo对象解析比较方便。
原创
发布博客 2024.01.24 ·
1169 阅读 ·
18 点赞 ·
0 评论 ·
19 收藏

数据库连接池

1.将c3p0.properties 或者 c3p0-config.xml文件名称不可以修改2.直接将文件放在src目录下即可,路径不可修改。
原创
发布博客 2024.01.24 ·
405 阅读 ·
8 点赞 ·
0 评论 ·
8 收藏

MongoDB详解(2)--java中的使用

【代码】MongoDB详解(2)--java中的使用。
原创
发布博客 2024.01.23 ·
749 阅读 ·
7 点赞 ·
0 评论 ·
9 收藏

MYSQL数据库详解(6)-- 视图&存储方式&触发器

​ 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后,再次调用不需要重复编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。​ 触发器是数据库中针对数据库表操作触发的特殊的存储过程特征: 隐式执行。
原创
发布博客 2024.01.23 ·
1118 阅读 ·
14 点赞 ·
0 评论 ·
26 收藏

MYSQL数据库详解(1) -- 数据库概述

2.约束作用数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。:数据库在安全性的控制上也有很多措施,比如访问数据库时对用户的口令,用户的权限进行限制,再比如对数据的存储进行限制。怎么才能读取更方便?:数据在数据库中的存储可以依靠二维表结构来逻辑的存储数据,可以参考数据原有的依赖关系和结构关系去存储数据。:数据和数据之间的结构关系,数据和程序之间的依赖关系,如何能让这些关系持久维系?
原创
发布博客 2024.01.23 ·
889 阅读 ·
27 点赞 ·
0 评论 ·
16 收藏

MongoDB详解(1)

{}占位符 代表全部。
原创
发布博客 2024.01.22 ·
1272 阅读 ·
29 点赞 ·
0 评论 ·
23 收藏

Shiro实战详解(4)--JWT生成token以及解析token

​ JWT(JSON WEB TOKEN):JSON网络令牌,JWT是一个轻便的安全跨平台传输格式,定义了一个紧凑的自包含的方式在不同实体之间安全传输信息(JSON格式)。它是在Web环境下两个实体之间传输数据的一项标准。实际上传输的就是一个字符串。实现步骤:1.创建RedisSessionDao extends AbstractSessionDAO2.配置ShiroConfig首先Shiro是一套安全认证框架,已经有了对token的相关封装。而JWT只是一种生。
原创
发布博客 2024.01.22 ·
1231 阅读 ·
25 点赞 ·
0 评论 ·
21 收藏

Shiro实战详解(3)

所有服务器的session信息都存储到了同一个Redis集群中,即所有的服务都将 Session 的信息存储到 Redis 集群中,无论是对 Session 的注销、更新都会同步到集群中,达到了 Session 共享的目的。在使用多个服务器,实现分布式服务时,用户在登录服务器已经登录,但是其他服务器对用户来说由于第一次访问,没有用户的会话信息,就会拦截,让他去登录,但实际上我们已经登录过了。sh_resource:资源表。主框架:springboot。响应层:springMVC。持久层:mybatis。
原创
发布博客 2024.01.22 ·
554 阅读 ·
21 点赞 ·
0 评论 ·
9 收藏

shiro实战详解(2)

散列算法一般用于生成数据的摘要信息,是一种不可逆的算法,一般适合存储密码之类的数据,常见的散列算法如MD5、SHA等。一般进行散列时最好提供一个salt(盐),比如加密密码“admin”,产生的散列值是“21232f297a57a5a743894a0e4a801fc3”,可以到一些md5解密网站很容易的通过散列值得到密码“admin”,即如果直接对密码进行散列相对来说破解更容易,此时我们可以加一些只有系统知道的干扰数据,如salt(即盐);Shiro内置了很多默认的过滤器,比如身份验证、授权等相关的。
原创
发布博客 2024.01.19 ·
961 阅读 ·
27 点赞 ·
0 评论 ·
18 收藏

shiro实战详解(1)

权限管理,一般指根据系统设置的安全策略或者安全规则,用户可以访问而且只能访问自己被授权的资源,不多不少。权限管理几乎出现在任何系统里面,只要有用户和密码的系统。权限管理在系统中一般分为:访问权限一般表示你能做什么样的操作,或者能够访问那些资源。数据权限一般表示某些数据你是否属于你,或者属于你可以操作范围。授权,即访问控制,控制谁能访问哪些资源。主体进行身份认证后,系统会为其分配对应的权限,当访问资源时,会校验其是否有访问此资源的权限。这里首先理解4个对象。用户对象user:当前操作的用户、程序。
原创
发布博客 2024.01.19 ·
1309 阅读 ·
31 点赞 ·
0 评论 ·
19 收藏

uni-app引用矢量库图标

5.使用图标(字体图标,只有黑色)2.在原有的下载图标基础上,通过。4.替换font-face。2.导入项目(字体样式)3 . 彩色样式导入项目。1.生成连接,下载样式。
原创
发布博客 2024.01.16 ·
788 阅读 ·
5 点赞 ·
0 评论 ·
8 收藏
加载更多