施长成的博客

博客


  • 首页

  • 标签

  • 归档

  • 搜索

Socket 长连接

发表于 2018-12-03
最近再做根据 Cmpp 协议对接一个短信网关接口。考虑到需要频繁的与网关服务器进行数据交互,因此使用长连接。 如何区分长连接,短连接 ?所谓短连接就是建立一次tcp握手成功后进行数据交互,交互完成主动或者关闭tcp。 主动关闭 一般就是关闭socket或者关闭socket的 in ou流。被动关闭会受限操作系统的配置。比如建立tcp成功之后的一段时间若无数据交互,则操作系统会主动关闭这次tcp连接 ...
阅读全文 »

Log4j MDC

发表于 2018-11-22
Log4j MDC问题在项目中需要分类收集处理日志信息,使用log4j的MDC线程中添加分类信息。不过最近却出现信息记录错误的情况,具体来说就是会出现本来属于下一个分类的一部分信息莫名的记录到上一个分类的日志文件中了。 问题原因分析MDC 需要在完成后被重置,或者说清空。因为MDC是绑定线程的,所以,在大多数简单的使用的情况下,例如在服务器端接受请求的入口处,设置一个MDC信息,如果服务器这个程序 ...
阅读全文 »

Redlock实现分布式锁

发表于 2018-11-11
阅读全文 »

MySQL 安装

发表于 2018-09-06
MySQL 安装Windons 下MySQL的安装方式一般分为两种,一种基于 Exe 可执行文件的安装,另外一种是解压安装。 解压安装将下载下来的mysql进行zip解压。 复制 my-default.ini 并改名为 my.ini,新建 data 和 log 两个文件夹看一个保存数据,一个保存log。 修改 my.ini 下的文件内容 执行 mysqld.exe install mysql 将m ...
阅读全文 »

GC 优化

发表于 2018-09-05
GC 优化JVM监控可以使用以下衡量标准 总内存使用情况(MB):即JVM使用的总内存。如果JVM使用了所有可用内存,这项指标可以衡量底层操作系统的整体性能。 堆内存使用(MB):即JVM为运行的Java应用所使用的对象分配的所有内存。不使用的对象通常会被垃圾回收器从堆中移除。所以,如果这个指数增大,表示你的应用没有把不使用的对象移除或者你需要更好的配置垃圾回收器的参数。 非堆内存的使用(MB): ...
阅读全文 »

Unix IO

发表于 2018-08-09
一个 Linux 文件就是一个 m个字节的序列。所有的I/O设备(例如网络、磁盘和终端)都被模型化为文件,而所有的输入和输出都被当作对相应文件的读和写来执行。这种将设备优雅地映射为文件的方式,允许Liunx内核引出一个简单、低级的应用接口,称为 Unix I/O ,这使得所有的输入和输出都能以一种统一且一致的方式来执行: 打开文件。一个应用程序通过要求内核打开相应的文件,来宣告它想要访问一个I/ ...
阅读全文 »

Nginx负载均衡策略

发表于 2018-08-08
Nginx负载均衡策略轮询(默认)每个web请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。1234upstream nginxDemo{ server 127.0.0.1:8081; server 127.0.0.1:8082;} 最少链接web 请求会被转发到连接数最少的服务器上。123least_conn;server 127.0.0.1: ...
阅读全文 »

分布式ID解决方案

发表于 2018-08-06
分布式ID解决方案可供选择的分布式ID方案 UUID 优点: - 简单,代码方便 - 生成ID性能非常好,基本不会有性能问题 - 全球唯一,永不重复 缺点: - 没有排序,无法保证趋势递增 - UUID存的是字符串,查询效率比较低 - UUID 存储空间以及数据传输数据量大 基于数据库的自增ID 基于 Redis 的自增ID使用Redis的原子操作 INCR和INCRBY来实现比较适 ...
阅读全文 »

MessageDigest 使用注意,并发问题

发表于 2018-07-11
MessageDigest 使用注意,并发问题 Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。该算法的文件号为RFC 1321(R.Rivest,MIT Laboratory for Computer Science and RSA Data Security Inc. April 1992) ...
阅读全文 »

Java 动态代理

发表于 2018-07-04
反射反射的入口是名称为Class的类 代理静态代理动态代理 Java SDK cglib 123456public static void main(String[] args) { IService realService = new RealService(); IService proxyService = (IService) Proxy.newProxyInsta ...
阅读全文 »
123…6
shicc

shicc

55 日志
70 标签
RSS
GitHub E-Mail
© 2019 shicc
本站访客数: