自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 与HTTP(Restful API)对比,gRPC的优势

gRPC是什么?gRPC是什么可以用官网的一句话来概括A high-performance, open-source universal RPC framework所谓RPC(remote procedure call 远程过程调用)框架实际是提供了一套机制,使得应用程序之间可以进行通信,而且也遵从server/client模型。使用的时候客户端调用server端提供的接口就像是调用本地的函数一样。如下图所示就是一个典型的RPC结构图。与HTTP(Restful API)对比,gRP

2020-11-23 16:53:42 7148

原创 【Java进阶】线程池之参数介绍、拒绝策略、有限队列线程池,使用ThreadPoolTaskExecutor进行介绍

@Configurationpublic class ThreadPoolConfig { @Bean(name = "testThreadPool") public ThreadPoolTaskExecutor createPool(){ ThreadPoolTaskExecutor poolTaskExecutor = new ThreadPoolTaskExecutor(); //线程池所使用的缓冲队列 poolTaskExecut.

2020-11-20 19:18:50 2687

原创 【Java进阶】线程池之无限线程数 - Executors.newCachedThreadPool() ,创建无限线程数线程池

线程池底层实现线程池的底层实现是:ThreadPoolExecutor使用工厂类Executors快速创建预定义线程池IDEA插件Alibaba Java Coding Guidelines,代码提示如下(马云不推荐使用啊)线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险。说明:Executors 返回的线程池对象的弊端如下:1) FixedThreadPool 和

2020-11-20 19:09:00 4313

原创 【Java进阶】线程池之无限队列 - 使用工厂类Executors.newFixedThreadPool(n) ,创建无限队列线程池

线程池底层实现线程池的底层实现是:ThreadPoolExecutor使用工厂类Executors快速创建预定义线程池IDEA插件Alibaba Java Coding Guidelines,代码提示如下(马云不推荐使用啊)线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险。说明:Executors 返回的线程池对象的弊端如下:1) FixedThreadPool 和

2020-11-20 18:15:22 2203

原创 【IDEA】 IntelliJ IDEA好用插件总结

好用插件汇总(1) Alibaba java代码指导插件:Alibaba Java Coding Guidelines插件安装1.打开Settings >> Plugins >> Browse repositories...

2020-11-20 16:17:35 97

原创 【Java进阶】Mysql Mybatis int被错误更新为0

问题描述:在Person对象的age字段是int类型,int如果不设置的话,会默认自动转为0,这样使用age= 0的Person去Mybatis中update的时候,就会把age转为0;Person.java@Table(name = "person")public class Person { private String name; private int age; // int的特殊性,不设置会转为0 public Person(String name,

2020-11-18 14:54:24 1768

原创 【Linux】grep过滤、排除

cat test.sh | grep 123 | grep -v 456查看test.sh文件内容,过滤出123,排除掉456

2020-11-18 10:00:39 3876

原创 【Linux】ln 软链接 硬链接

软链接: 保存了其代表的文件的绝对路径,是另外一种文件,在硬盘上有独立的区块,访问时替换自身路径。ln -s 源文件 软链接文件ln -s source.txt soft.txt硬链接: 都指向同一个文件在硬盘中的区块ln 源文件 链接文件ln source.txt hard.txt...

2020-11-17 14:58:12 104

原创 【Linux】杀死进程kill pkill killall

kill -9 {process_pid}根据进程pid,杀死指定进程 ,eg. kill -9 123killall {process_name} 等同于pkill {process_name} 杀死所有同名进程,eg. killall nginx

2020-11-17 14:36:50 130

原创 【Linux】查看内存、磁盘占用

查看系统磁盘使用情况df -hroot@self:~# df -hFilesystem Size Used Avail Use% Mounted onudev 2.1G 0 2.1G 0% /devtmpfs 423M 6.7M 416M 2% /run/dev/sda1 216G 26G 180G 13% /tmpfs 2.1G 216K 2.1G 1% /dev

2020-11-17 14:20:57 111

原创 【Linux】vim常用命令:文档开头或末尾

gg: 命令将光标移动到文档开头G: 命令将光标移动到文档末尾

2020-11-17 14:01:58 530

原创 Java进阶 - Synchronized、Volatile区别

使用场景一、volatile:一个变量被一个线程更改后,其它线程能立即知道。主要用来修饰被不同线程访问和修改的变量。例如:volatile private boolean isGood = true;二、synchronized:可用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这段代码。当两个并发线程访问同一个对象object中的这个加锁同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行

2020-11-11 11:33:01 118

原创 Java面试题 - 异常处理getDivision(10)

异常处理知识点:1. 异常处理逻辑2. n++赋值和计算顺序int getDivision(int n) { try{ n+=1; // 执行n=n+1,n=11,出现异常之前的代码都是执行的 if (n/0 > 0) { // 0不能作为除数,出现异常 n+=10; } else { n-=10; } } catch .

2020-11-10 19:23:56 174

原创 64进制(base64)

base64相当于64进制其符号序列为:A...Za...z0...9+/ 一共64个符号,那么A代表0,a代表26,0代表52,/代表63。base64编码的原理: 将3字节转成4个字符,3个字节=24bits,将24个bits分为4组,每组6bits,将每组用一个64进制的字符表示。例如(字节转化位): 4D 5A 90 -> 01001101 01011010 100100...

2018-04-13 11:21:01 8247

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除