Java
Java
敬勤
这个作者很懒,什么都没留下…
展开
-
与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 · 7577 阅读 · 0 评论 -
【Java进阶】线程池之参数介绍、拒绝策略、有限队列线程池,使用ThreadPoolTaskExecutor进行介绍
@Configurationpublic class ThreadPoolConfig { @Bean(name = "testThreadPool") public ThreadPoolTaskExecutor createPool(){ ThreadPoolTaskExecutor poolTaskExecutor = new ThreadPoolTaskExecutor(); //线程池所使用的缓冲队列 poolTaskExecut.原创 2020-11-20 19:18:50 · 2759 阅读 · 0 评论 -
【Java进阶】线程池之无限线程数 - Executors.newCachedThreadPool() ,创建无限线程数线程池
线程池底层实现线程池的底层实现是:ThreadPoolExecutor使用工厂类Executors快速创建预定义线程池IDEA插件Alibaba Java Coding Guidelines,代码提示如下(马云不推荐使用啊)线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险。说明:Executors 返回的线程池对象的弊端如下:1) FixedThreadPool 和原创 2020-11-20 19:09:00 · 4466 阅读 · 0 评论 -
【Java进阶】线程池之无限队列 - 使用工厂类Executors.newFixedThreadPool(n) ,创建无限队列线程池
线程池底层实现线程池的底层实现是:ThreadPoolExecutor使用工厂类Executors快速创建预定义线程池IDEA插件Alibaba Java Coding Guidelines,代码提示如下(马云不推荐使用啊)线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险。说明:Executors 返回的线程池对象的弊端如下:1) FixedThreadPool 和原创 2020-11-20 18:15:22 · 2385 阅读 · 0 评论 -
【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 · 1959 阅读 · 0 评论 -
Java进阶 - Synchronized、Volatile区别
使用场景一、volatile:一个变量被一个线程更改后,其它线程能立即知道。主要用来修饰被不同线程访问和修改的变量。例如:volatile private boolean isGood = true;二、synchronized:可用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这段代码。当两个并发线程访问同一个对象object中的这个加锁同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行原创 2020-11-11 11:33:01 · 139 阅读 · 0 评论 -
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 · 194 阅读 · 0 评论