- 博客(13)
- 资源 (22)
- 收藏
- 关注

原创 Linux中文字体
使用Graphics2D生成图片,Linux系统写入中文字体时出现乱码,Windows正常。是因为Linux系统未支持中文字体格式,在Linux系统中安装中文字体支持即可。Linux系统安装中文字体方法:1、查看、usr/share/目录下是否有fonts目录,如果木有,生成fonts目录 mkdir /usr/share/fonts2、创建msyh目录,将*.ttc文件
2017-12-08 11:01:33
1051
原创 Redis分布式锁的实现原理
目录Redisson实现Redis分布式锁的底层原理1、加锁机制2、锁互斥机制3、watch dog自动延期机制4、可重入加锁机制5、释放锁机制6、上述Redis分布式锁的缺点Redis分布式锁,一般就是用Redisson框架就好了,非常的简便易用。大家如果有兴趣,可以去看看Redisson的官网,看看如何在项目中引入Redisson的依赖,然后基于Redis实现分布式锁的加锁与释放锁。下面给大家看一段简单的使用代码片段,先直观的感受一下:RLock rLock
2021-01-14 18:14:55
285
原创 本地项目怎么上传GitHub
第一步:先创建一个本地的版本库(其实也就是一个文件夹)第二步:通过命令git init把这个文件夹变成Git可管理的仓库这时你会发现GitWarehouse多了个.git文件夹,它是Git用来跟踪和管理版本库的。如果你看不到.git文件夹,是因为它默认是隐藏文件,需要设置一下让隐藏文件可见。第三步:将项目copy到GitWarehouse文件夹下(项目fdf)进入项目(fdf)文件夹下,鼠标右击,选择“Git Bash Here”通过git statu..
2020-11-12 18:45:49
202
原创 Restful风格GET参数包含点号【.】异常
@RequestMapping(method = RequestMethod.GET, value = "/exportExcel/{info}")public String exportUser(@PathVariable(“info”) String info){ //}http://localhost:8080/user/exportExcel/guan...
2020-01-03 18:34:26
456
原创 Java实现《单数N*N宫格图》横、竖、斜之和都相等
看过《神雕侠侣》神剧的,不知道是否记得,有段黄蓉与瑛姑比数的场景,黄蓉快速写出了4*4宫格图,瑛姑真是嫉妒与恨。重点是黄蓉留下了一句话“所有的宫格图都有规律”。正当读初一的小编,看过之后的某一天实在无聊,就拿起白纸铅笔各种对称研究,2天的不懈努力终于找出单数、四倍数的宫格,eg:3*3、5*5、7*7、9*9...、4*4、8*8、12*12、16*16...及6*6宫格。小编今天在这里用Java...
2019-08-29 11:27:46
677
原创 Java实现N*N宫格图,横竖斜之和都相等【N为4的倍数】
import java.util.Arrays;public class NNGrid { public static void main(String[] args) { int num = 20;// 8*8=64宫格 Integer[][] array = fourTimesGrid(num); outPutResult(array, num);// 输出结果 che...
2019-08-27 18:03:46
545
原创 eclipse使用mybatis从mapper的Java接口与xml文件相互跳转
一直习惯使用eclipse,看见同事使用IDEA,直接从Java类的dao接口跳转到xml文件。eclipse本身不正常这样的操作,但是可以按照mybatipse插件来实现。这里提供两种安装方法:离线模式、联网模式一、离线安装mybatipse1、下载mybatipse插件安装包点击下载mybatipse插件解压mybatipse插件压缩包,里面有2个文件夹features与p...
2019-08-02 14:17:01
1524
1
原创 Java JVM内存模型及存储案例解析
一、Java虚拟机模块划分程序计数器、Java虚拟机栈(stack)、本地方法栈、Java堆(heap)、方法区、运行时常量池1、程序计数器线程执行的字节码的行号指示器,字节码解释器通过改变计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖计数器来完成。Java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的...
2019-07-19 15:53:51
342
原创 JVM垃圾回收机制
1、如何确定某个对象是垃圾1)引用计数法:一个对象没有任何与之关联的引用。无法解决循环引用问题。2)可达性分析:在“GC roots”和一个对象之间没有可达路径。不可达对象不等于可回收对象,不可达对象变为可回收对象至少要经过两次标记过程。2、垃圾回收算法1)标记-清除算法(Mark-Sweep)最基础的垃圾回收算法,分为两个阶段:标注和清除。(内存碎片化) ...
2019-07-19 15:36:18
165
原创 线程中start()和run()的区别
1、run()相当线程的任务处理逻辑的入口方法,由Java虚拟机在运行相应线程时直接调用,而不是由代码进行调用。2、start()的作用是于启动相应的线程,实际是请求Java虚拟机运行相应的线程,而这个线程何时能运行是由线程调度器决定的。start()调用结束并不表示线程已经开始运行,这个线程可能稍后运行,也可能永远不会运行。3、直接调用run(),只是调用了一个实例的方法,并未启动线程,...
2019-07-19 14:18:15
454
原创 Java线程池ThreadPoolExecutor
一、ThreadPoolExecutor执行顺序1、当线程数<核心线程数时,创建新线程。2、当线程数>=核心线程数时,且任务列表未满时,将任务放入队列。3、当线程数>=核心线程数时,且任务列表已满: a、若线程数<最大线程数时,创建线程。 b、若线程数>最大线程数时,抛出异常,拒绝任务。二、如何设置参数1、默认co...
2019-07-19 14:14:48
189
原创 分库分表的垂直分割与水平分割
1、垂直分库根据业务耦合性,将关联度低的不同表存储在不同的数据库。做法与大系统拆分为多个小系统类似,按业务分类进行独立划分。与“微服务治理”的做法相似,每个微服务使用单独的一个系统。如图: 2、垂直分表基于数据表中的“列”进行划分。某个表字段较多,可以新建一张扩展表,将不经常用或者字段...
2019-07-19 14:02:48
1656
原创 多线程Callable
1、为何使用Callable而不是RunnableRunnable不支持异常处理,而Callable可以异常处理Runnable不能获取线程块的返回值,而Callable可以通过FutrueTask获取返回值2、Callable的使用创建2个线程,分别获取userInfo信息与stuInfo信息Callable<JSONObject> userInfoCall...
2019-07-19 13:46:04
384
Navicat连Oracle插件instantclient_18_5.zip
2020-01-21
谷歌浏览器插件restlet-client.zip
2019-08-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人