- 博客(140)
- 资源 (3)
- 收藏
- 关注

原创 HashMap的key重复,那么value会被覆盖吗?
package cn.sdut.mydemo;import java.util.HashMap;public class HashMapDemo{ public static void main(String[] args) {// demo01(); demo02(); } private static void demo02() ...
2018-08-04 21:07:55
27425
10
原创 并发编程:导致可见性\原子性\有序性原因
1.缓存导致的可见性问题 一个线程对共享变量的修改,另外一个线程能够立刻看到,我们称为可见性. 在单核时代,所有的线程都是在一颗 CPU 上执行,CPU 缓存与内存的数据一致性容易解决。因为所有线程都是操作同一个 CPU 的缓存,一个线程对缓存的写,对另外一个线程来说一定是可见的. 在多核时代,当多个线程在不同的 CPU 上执行时,这些线程操作的是不同的 CPU 缓存;线...
2020-03-09 21:47:24
454
原创 Java生产者消费者模式
package cn.sdut.demo.concurrency;import java.util.Random;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.ReentrantLock;/** * Created By Majiatao */public cla...
2019-12-04 16:35:35
267
原创 Java 队列Queue几个方法的区别
方法 作用 区别 add 增加一个元素 如果队列已满,则抛出一个IIIegaISlabEepeplian异常 offer 添加一个元素并返回true 如果队列已满,则返回false。 如果 e 元素为 null 则抛出 NullPointerException 异常。该方法不阻塞 put 添加一个元素并返回true...
2019-12-04 13:44:52
744
原创 Java线程池拒绝策略
一、简介 jdk1.5 版本新增了JUC并发编程包,极大的简化了传统的多线程开发。 俗话说 满而不损则溢,盈而不持则倾。线程池既然是容器,那么必然的会有存满的情况。在达到某些特定条件的时候,再来请求的话,池子是如何进行请求处理的呢?这里就引出了池的拒绝策略。一般的数据库连接池在达到最大连接数的时候会默认的等待特定的设置的时间或者直接就抛出异常。而本文中要阐述的线程池却并非如此的策略,下...
2019-12-04 13:38:16
419
原创 安装jenkins时遇到ERROR: No Java executable found in current PATH: /bin:/usr/bin:/sbin:/usr/sbin的问题
2019-11-14 10:43:21
560
原创 DockerMaven插件部署springboot
这种方式是DockerMaven+Dockerfile的方式进行部署的,因为通过Dockerfile比较清晰的、可维护1.修改宿主机的docker配置,让其可以远程访问 vi /lib/systemd/system/docker.service其中ExecStart=后添加配置‐H tcp://0.0.0.0:2375 ‐H unix:///var/run/dock...
2019-11-13 21:51:57
269
转载 CentOS7 设置阿里镜像源
1. 备份原来的yum源sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak 2.设置aliyun的yum源sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Cen...
2019-10-04 20:56:57
528
原创 原子性问题
package cn.sdut.concurrent.main;/** * @author MaJiatao * @description: 验证线程原子性 * @created: 2019/09/30 12:51 */public class AddCount implements Runnable{ static Integer count = 0; stati...
2019-09-30 14:41:04
340
原创 Executors引发的思考
ExecutorService executorService = Executors.newFixedThreadPool(10);A thread pool should be created by ThreadPoolExecutors rather than Executors.These would be make note: Below are the problems cr...
2019-08-21 09:46:03
283
原创 gRPC的newStub与newBlockingStub的区别
/** * Creates a new async stub that supports all call types for the service */ public static GoodsServiceStub newStub(io.grpc.Channel channel) { return new GoodsServiceStub(channel); }...
2019-06-24 11:11:25
5919
原创 Protobuf3语法
官网原文:https://developers.google.cn/protocol-buffers/docs/proto3syntax = "proto3";// 文件首个非空、非注释的行必须表明protobuf的版本,默认是proto2//importimport "google/protobuf/wrappers.proto";import "src/main/proto/o...
2019-06-21 15:59:26
1772
转载 Protobuf-import&import public
【转载】https://www.cnblogs.com/letsgollc/p/7423248.html 场景:假如有文件hundredbulls.proto,需要导入另一个文件common.proto,两者在同一个目录中.导入方式 在hundredbulls.proto文件的开头,使用关键字import导入另一个文件,如下↓↓↓↓↓↓↓ ...
2019-06-21 11:52:51
2706
原创 Protobuf 类型映射
官方scalar value type.proto Type Notes C++ Type Java Type Python Type[2] Go Type Ruby Type C# Type PHP Type Dart Type double double double float float64 ...
2019-06-21 11:38:48
1147
转载 Java实现文件批量导入导出实例(兼容xls,xlsx)
【转载】https://blog.youkuaiyun.com/u013322876/article/details/728590891、介绍java实现文件的导入导出数据库,目前在大部分系统中是比较常见的功能了,今天写个小demo来理解其原理,没接触过的同学也可以看看参考下。目前我所接触过的导入导出技术主要有POI和iReport,poi主要作为一些数据批量导入数据库,iReport做报表导出。...
2019-06-21 09:37:47
735
原创 gRPC-Server&Client
使用官方的RouteGuideService例子,RouteGuideService类需要extends from .proto文件生成的RouteGuideGrpc.RouteGuideImplBase抽象类private static class RouteGuideService extends RouteGuideGrpc.RouteGuideImplBase {...}S...
2019-06-20 20:33:48
539
原创 gRPC四种服务类型
Unary RPC:这就是一般的rpc调用,一个请求对象对应一个返回对象@Override public void getFeature(Point request, StreamObserver<Feature> responseObserver) { responseObserver.onNext(checkFeature(request)); ...
2019-06-20 16:08:06
1421
原创 SpringBoot启动时执行特定的任务
SpringBoot启动时,执行任务CommandLineRunner在开发过程中,可能需要实现项目启动之后执行功能,Springboot提供的一种方案 就是用一个Bean或者model实现CommandLineRunner接口,将实现功能的代码放在run()方法中.@SpringBootApplication@ComponentScan("cn.sdut.backend")publ...
2019-06-17 16:50:26
2449
2
原创 idea等 软件在deepin(Linux)中文乱码问题
sudo apt install fonts-adobe-source-han-serif-cn
2019-06-17 09:49:40
638
2
翻译 Java工程师修炼之道--Spring对跨域请求的支持
跨域请求的支持-Spring CORS CORS(Cross-Origin Resource Sharing) 用于解决浏览器跨域请求问题,简单的GET请求可以通过jsonp解决。 对于稍微复杂的请求则需要后端支持CORS,Spring4.2之后提供了@CrossOrigin注解来提供支持。 //在Controller方法上配置 @CrossOrigin(...
2019-06-05 14:14:49
155
原创 插入排序-JAVA实现
public static void insertionSort(int[] arr) { if (arr == null || arr.length < 2) { return; } for (int i = 1; i < arr.length; i++) { for (int j = i - 1; j >= 0 && arr[j]...
2019-06-01 21:33:18
174
原创 快排-JAVA实现
package demo;public class QuickSortDemo { public static void main(String[] args) { int[] arr = new int[] {1, 2, 5, 4, 6}; quickSort(arr, 0, arr.length - 1); for(int num : arr) { System.ou...
2019-06-01 21:32:13
513
原创 反射-获取对象及其字段权限问题
在获取类的时候,没有什么问题在获取对象字段的时候,注意权限问题①clazz.getField("fieldName")只有public的字段才可以获取到,protected、默认、private都无法获取到,抛出java.lang.NoSuchFieldException异常②clazz.getDeclaredField("fieldName") 可以获取到任何字段,但是如果这样运行...
2019-05-20 07:42:33
733
原创 快排-Java实现
package demo;public class QuickSortDemo { public static void main(String[] args) { int[] arr = new int[] {1, 2, 5, 4, 6}; quickSort(arr, 0, arr.length - 1); for(int num : arr) { System.ou...
2019-05-20 07:41:49
227
转载 classpath 与 classpath* 的区别
【转载地址】https://www.cnblogs.com/qyf404/p/4250539.htmlclasspath本质是JVM的根路径,JVM获取资源都是从该根路径下查找的注意:这个路径是一个逻辑路径,并不是磁盘路径一般classpath指向的是 target下的classes,也就是编译路径的根路径,而一般classes中放着这些文件1、.java 编译好的 .class...
2019-03-29 18:06:06
3006
原创 Spring Boot 配置文件的加载位置顺序
Spring Boot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring Boot 默认配置文件-file:./config/-file:./-classpath:/config/-classpath:/优先级是由高到低,高优先级别的配置文件会覆盖 低优先级的配置文件;Spring Boot会从以上四个位置全...
2019-03-29 17:24:14
214
原创 Spring Boot @Component与@Configuration的区别
如果在编写的config类上添加@Component与@Configuration注解,你如果在别的地方进行注入的时候,都会能够完成注入的功能。点开@Configuration注解,发现本质也是@Component。但是仔细发现,注入后得到的对象是不一样的。@Component得到不是同一个对象,@Configuration得到的是同一个对象。下面示例:@Configuration//...
2019-03-27 09:13:28
3656
原创 springboot结合mybatis generator逆向工程自动生成代码
maven依赖的包与插件(只贴出Mybatis相关包) <!--mysql数据库连接--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId>...
2019-03-26 14:42:32
307
转载 从输入URL到浏览器显示页面发生了什么
从输入URL到浏览器显示页面发生了什么 当在浏览器地址栏输入网址,如:www.baidu.com后浏览器是怎么把最终的页面呈现出来的呢?这个过程可以大致分为两个部分:网络通信和页面渲染。一、网络通信 互联网内各网络设备间的通信都遵循TCP/IP协议,利用TCP/IP协议族进行网络通信时,会通过分层顺序与对方进行通信。分层由高到低分别为:应用层、传输层、网络层、数据链路层。...
2019-03-07 14:53:20
440
转载 spring mvc执行流程
流程图 Spring工作流程描述用户向服务器发送请求,请求被SpringMVC前端控制器 DispatcherServlet捕获; DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI):判断请求URI对应的映射 不存在: 再判断是否配置了mvc:default-servlet-handler: 如果没配置,则控制台报映射查找...
2019-03-07 10:32:25
168
转载 TCP 详解
---------------------作者:rugu_yer来源:优快云原文:https://blog.youkuaiyun.com/sinat_36629696/article/details/80740678版权声明:本文为博主原创文章,转载请附上博文链接!TCP协议TCP协议全称: 传输控制协议, 顾名思义, 就是要对数据的传输进行一定的控制.先来看看它的报头我们...
2019-03-06 15:22:26
290
原创 Redis 主从复制步骤
主从复制:主机数据更新后根据配置和策略,自动同步到备机的master、slaver机制。Master以写为主,Slave以读为主。用处:读写分离、性能扩展、 容灾恢复#配从(服务器)不配主(服务器)#1、拷贝多个redis.conf文件#2、开启daemonize yes#3、修改pid文件名字#4、指定端口#5、修改Log文件名字#6、修改dump.rdb文件名字#7、关闭...
2019-02-12 11:10:15
213
原创 deepin安装MySQL没有弹出设置root密码怎么进行修改
1. 首先使用apt命令安装mysql(默认安装的最新5.7)sudo apt-get updatesudo apt-get install mysql-server mysql-client2.修改my.cnf,不过我修改之后报错,最后修改的是 /etc/mysql/mysql.conf.d/mysqld.cnf3.最文件最底下插入一条:skip-grant-tables4.然后...
2019-01-31 20:41:07
291
转载 Linux无法连接外网
原文:https://blog.youkuaiyun.com/jamesdodo/article/details/81183163 很多公司都架设了自己的VPN 网络,对公司内移动办公的用户提供接入。但是大多数情况下很多用户发现只要连接上VPN,原本正常的网络浏览、QQ等访问Internet的通讯都被断掉了,而本地局域网的访问(跨网段的)也不行了。于是仔细研究,最终在显示路由表的时候发现了区别(在命令...
2019-01-28 10:03:32
2259
转载 systemctl介绍
原文链接:https://www.cnblogs.com/lxjshuju/p/7183689.htmlsystemd 是 Linux 下的一款系统和服务管理器,兼容 SysV 和 LSB 的启动脚本。systemd 的特性有:支持并行化任务;同一时候採用 socket 式与 D-Bus 总线式激活服务;按需启动守护进程(daemon)。利用 Linux 的 cgroups 监视进程;支持快照...
2019-01-26 13:26:36
537
原创 Deepin、Ubuntu使用SSH远程登录
SSH:建立在应用层和传输层基础上的安全协议。SSH是目前比较可靠,专为远程登录会话和其他网络服务提供安全性的协议的。常用于远程登录以及用户之间进行资料拷贝。几乎所有的Unix平台、Linux都可以运行SSH。 使用SSH服务,需要安装相应的服务器和客户端。客户端与服务器之间的关系就是:A服务器想被B服务器远程控制,那么A机器需要安装SSH服务器,B机器需要安装SSH客户端。与CentO...
2019-01-18 22:29:05
786
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人