- 博客(14)
- 资源 (2)
- 收藏
- 关注
原创 Netty 高性能的原因
1 多路复用的通讯方式2 异步通信 NIO3 零拷贝DIRECT BUFFERS (使用堆外直接内存)4 内存池(基于内存池的缓冲区重用机制)5 高效的 Reactor线程模型6无锁设计、线程锁定7 高性能的序列化框架
2021-04-25 18:16:10
246
原创 RPC 简介
IPC进程间通信(IPC)是在多任务操作系统或联网的计算机之间运行的程序和进程所用的通信技术。有两种类型的进程间通信(IPC)。LPC本地过程调用(LPC)LPC用在多任务操作系统中,使得同时运行的任务能互相会话。这些任务共享内存空间使任务同步和互相发送信息。RPC远程过程调用(RPC)RPC类似于LPC,只是在网上工作。RPC开始是出现在Sun微系统公司和HP公司的运行UNⅨ操作系统的计算机中。rpc流程图RPC协议的组成地址:服务提供者地址2.端口:协议指定开放的端口3.报文编
2021-04-25 15:17:12
297
原创 @RestController 详解
@RestController 是@controller和@ResponseBody 的结合@Controller 将当前修饰的类注入SpringBoot IOC容器,使得从该类所在的项目跑起来的过程中,这个类就被实例化。@ResponseBody 它的作用简短截说就是指该类中所有的API接口返回的数据,甭管你对应的方法返回Map或是其他Object,它会以Json字符串的形式返回给客户端...
2021-01-28 17:57:22
70122
9
原创 @EnableAsync@Async 使用详解
我们在使用多线程的时候,往往需要创建Thread类,或者实现Runnable接口,如果要使用到线程池,我们还需要来创建Executors,在使用spring中,已经给我们做了很好的支持。只要要@EnableAsync就可以使用多线程。使用@Async就可以定义一个线程任务。通过spring给我们提供的ThreadPoolTaskExecutor就可以使用线程池。默认情况下,Spring将搜索相关的线程池定义:要么在上下文中搜索唯一的TaskExecutor bean,要么搜索名为“taskExecutor
2021-01-28 17:49:54
1451
5
原创 详解java注解
深入理解注解1、基本介绍基本概念:注解,顾名思义,就是对某一事物进行添加注释说明,会存放一些信息,这些信息可能对以后某个时段来说是很有用处的。Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。Java 语言中的类、方法、变量、参数和包等都可以被标注(添加某些信息)。在编译器生成类文件时,标注可以被嵌入到字节码中。Java 虚拟机可以保留标注内容,在运行时可以通过反射的方式获取到标注内容 。 当然它也支持自定义 的Java 标注。注解与注释的区别1.定
2021-01-28 16:08:38
281
原创 java CountDownLatch 简单例子
今天在使用 CountDownLatch 的时候突然忘记怎么使用了,然后就在网上找例子,但是找的解析明显有点太过于深入和不好理解,我就整了个简单的例子做备注.long size = 8;//先构造一个 监测8个线程的对象 CountDownLatch countDownLatch = new CountDownLatch(new Long(size).intValue());//构造一个有8个线程的线程池 ExecutorService executorService = Executors.
2020-11-27 17:55:17
239
原创 java io 详解
主要内容java.io.File类的使用IO原理及流的分类文件流FileInputStream / FileOutputStream / FileReader / FileWriter缓冲流BufferedInputStream / BufferedOutputStream /BufferedReader / BufferedWriter转换流InputStreamReader / OutputStreamWriter标准输入/输出流打印流(了解)PrintStream / Prin
2020-11-26 17:21:43
676
原创 jvm的垃圾回收机制
一 谈一谈jvm的垃圾回收机制1.1 什么是垃圾回收 在正式介绍垃圾回收算法前,先来说说什么是垃圾回收。这里所说的垃圾主要指的是已经不会再继续使用的对象,当然也有可能是其他,比如不再使用的类以及常量,但主要还是指对象,所以以下算法将介绍对象的回收。所以垃圾回收的含义就是:将内存中已经不会被使用的对象(或类和常量)清除,释放内存空间。JVM的内存模型分为五个部分,其中堆内存的唯一目的就是存放对象,对象也基本上都是存放在堆内存中。堆中,为了方便进行垃圾回收,一般会将内存分为两个部分:老年代:用来存放生
2020-11-24 11:43:31
515
1
原创 将 base64字符串的图片上传到 aws s3文件服务器上
需求:需要将base64字符串(数据库保存的是base64字符串类型)的图片 上传到亚马逊的s3文件服务器上,主要原因是base64字符串太大,影响接口的效率关键代码:byte[] bytes = new BASE64Decoder().decodeBuffer(file.trim());//file是base64的字符串注意:base64字符串前的 data:image/webp;base64, 等都要去掉代码:String images ="data:image/webp;base64,x
2020-08-23 17:52:39
1737
原创 下载https图片并上传到aws s3文件服务器上
下载https图片并上传到aws s3文件服务器上遇到的需求:在网上爬到的https路径的图片上传到公司服务器上(买的亚马逊的图片服务器,类似于阿里云的oss服务器),以防以后不能使用.重点代码:new URL(url).openStream()通过URL对象的openStream()方法得到指定资源的输入流。然后将流调用s3的api方法存入文件服务器 url直接写图片的地址即可具体代码:/** * 获取亚马逊链接 */ private static AmazonS3
2020-08-21 11:03:00
1673
1
原创 elk 7.8 安装+从mysql拉增量数据+密码配置
1 安装7.8 es下载地址(三个软件均可在此处下载): https://www.elastic.co/cn/downloads/在/config/elasticsearch.yml 内配置文件# ======================== Elasticsearch Configuration =========================path.data: /disk_data/data_7.8network.host: 127.0.0.1http.port: 9201xpac
2020-07-14 17:09:37
300
原创 谷歌推送(包含通知点击跳转APP页面,后台java)
1 后台 (1) 我后台是选择的多推的结构(可发单条和多条),更多的结构可以访问官网 //APP的名字 public static String appName = "xxxxxxxxx"; //google推送 json文件的地址 public static String jsonPath = "xxxxxxx"; //google推送上建立的数据库 public static String dataUrl = "xxxxxxxxx"; priv
2020-05-29 13:10:22
1768
1
原创 关于contains 使用的注意
关于contains 使用的注意在使用 contains 判断集合中是否有此对象的时候,需要重写比较对象的equals方法把需要比较的字段写入比较!!例子:list使用contains。// 例子public static void main(String[] args) { List<UserRecommendPooMongo> mongos = new A...
2020-03-31 16:17:00
858
转载 flume
****flume1 .背景 flume是由cloudera软件公司产出的可分布式日志收集系统,后与2009年被捐赠了apache软件基金会,为hadoop相关组件之一。尤其近几年随着flume的不断被完善以及升级版本的逐一推出,特别是flume-ng;同时flume内部的各种组件不断丰富,用户在开发的过程中使用的便利性得到很大的改善,现已成为apache top项目之一.2 .概述...
2019-04-28 17:29:28
217
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人