![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
技术提升
某人的技术博客
北京某公司
展开
-
关于Java多线程socket编程的一个小结
前几天有一个纳闷的问题是终端通过socket给服务器端发信息,收到返回,我经过排查,发现终端不给我发送任何信息,但是服务器端进行了长连接处理,发现socket超时,就给给它下发socket.sendUrgentData(0xFF)紧急心跳包,导致客户端线程一直在运行。long sleepCount=0; while (isRun) { try { int leng原创 2016-07-18 11:59:00 · 565 阅读 · 0 评论 -
JS实现继承的几种方式
前言JS作为面向对象的弱类型语言,继承也是其非常强大的特性之一。那么如何在JS中实现继承呢?让我们拭目以待。JS继承的实现方式既然要实现继承,那么首先我们得有一个父类,代码如下:// 定义一个动物类function Animal (name) { // 属性 this.name = name || 'Animal'; // 实例方法 this.slee转载 2017-06-28 15:39:04 · 314 阅读 · 0 评论 -
decorator(HTML装饰器)
1>:每当遇到一个新的技术,首先我会问自己,这个技术是做神马的?用这个技术有神马好处?相比其它方式他的优势在哪里?我该怎样实现这个技术? 首先这个Decorator解释一下这个单词:“装饰器”,我觉得其实可以这样理解,他就像我们用到的Frame,他把每个页面都有的东东提炼了出来,也可能我们也会用各种各样的include标签,将我们的常用页面给包括进来:比如说页面的top,bott转载 2017-06-27 16:26:06 · 1700 阅读 · 0 评论 -
Netty系列之Netty高性能之道
1. 背景1.1. 惊人的性能数据最近一个圈内朋友通过私信告诉我,通过使用Netty4 + Thrift压缩二进制编解码技术,他们实现了10W TPS(1K的复杂POJO对象)的跨节点远程服务调用。相比于传统基于Java序列化+BIO(同步阻塞IO)的通信框架,性能提升了8倍多。事实上,我对这个数据并不感到惊讶,根据我5年多的NIO编程经验,通过选择合适的NIO框架,加上高性能的压缩二进制编解转载 2017-02-13 16:03:53 · 354 阅读 · 0 评论 -
Dubbo架构设计详解
Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。关于注册中心、协议支持、服务监控等内容,详见后面描述。转载 2017-02-13 10:03:19 · 391 阅读 · 0 评论 -
字符串匹配的KMP算法彻底理解
字符串匹配是计算机的基本任务之一。 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"? 许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。 这种算法不太容易理解,网上有很转载 2017-02-07 09:13:30 · 313 阅读 · 0 评论 -
MySQL存储过程学习
存储过程如同一门程序设计语言,同样包含了数据类型、流程控制、输入和输出和它自己的函数库。--------------------基本语法--------------------一.创建存储过程create procedure sp_name()begin.........end二.调用存储过程1.基本语法:call sp_name()注意:存储过转载 2016-12-04 21:55:28 · 403 阅读 · 0 评论 -
mysql 几种日志学习
错误日志(error log): log-err查询日志(general query log): log慢查询日志: -log-slow-queries 二进制日志 (binary log): log-bin 中继日志( relay log)innodb 在线redo 日志转载 2016-12-04 21:42:14 · 790 阅读 · 0 评论 -
数据结构-线性表
这几天在看程杰编写的《大话数据表结构》,看到线性表的时候,长篇大论看的我晕头转向,看完以后通过百度等方式整理了一下自己的思维,把这个表结构进行梳理一下线性表可以分为两种存储结构1.顺序存储结构 先来看看他的定义“线性表的顺序存储结构,指的是用一段地址连续的单元依次存储线性表的数据元素”。 说白了就是在内存中找了一块地儿通过占位的方式把一定内存占了,然后把数据类型的数据元素依次存原创 2016-10-18 10:52:20 · 418 阅读 · 0 评论 -
eclipse包名显示样式解决办法
eclipse package explorer 使用介绍原创 2016-10-21 11:30:02 · 8989 阅读 · 1 评论 -
servlet利用拦截器改写request和response
这些天在对一个项目进行二次开发,要对输入和输出的数据做一些修改,但是上一个开发人员没有进行良好的封装,所有数据直接从request.getParameter(),获取,然后response.getWrite()直接进行输出操作,如果我要一个一个程序去修改的话,应用程序上40多个servlet都得改程序,第一工作量比较大,第二自己看着恶心,以后出了问题BOSS还得找我,所以干脆想了个办法,利用拦截器...原创 2016-08-24 14:13:44 · 15897 阅读 · 5 评论 -
自己优化过的RSA非对称加密算法
前一阵给公安局做项目,用到了RSA加密技术。Java原生的RSA加密算法一次最多加密128字节数据(多于128字节需要拆分成多段分别加密再连接起来),经过加密后得到一个长度为128字节的加密数据。但这对于需要进行收发双方身份确认的公钥体系来说会带来不少麻烦。在我的系统中,我需要通过以下步骤实现对用户会话密钥的网上加密传递:所以自己对RSA进行了改装,使其自动分段进行加密1.base64工具原创 2016-08-23 18:26:47 · 1977 阅读 · 0 评论 -
Java中的类加载器详解
首先来了解一下字节码和class文件的区别:我们知道,新建一个java对象的时候,JVM要将这个对象对应的字节码加载到内存中,这个字节码的原始信息存放在classpath(就是我们新建Java工程的bin目录下)指定的目录下的.class文件,类加载需要将.class文件导入到硬盘中,经过一些处理之后变成字节码在加载到内存中。下面来看一下简单的例子:packag转载 2016-09-02 10:27:16 · 448 阅读 · 0 评论 -
tomcat-ssl双向认证-配置实例-Java调用源码
由于项目需要配置一个ssl加密的通信,所以最近研究了一下tomcat下的ssl加密通信步骤大约为三步1.建立秘钥文件 利用jdk自带的功能导出秘钥文件创建服务器密钥,keytool -genkey -v -alias serverKey -dname "CN=data.robochina.com.cn" -keyalg RSA -keypass www.fulei.com.cn -原创 2016-08-23 14:58:43 · 1792 阅读 · 0 评论 -
【提供源码下载】使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件
其实这个没什么,但是能大大加快我们的开发速度。只需要把一个配置文件配置好就行,<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1原创 2016-07-21 10:25:09 · 786 阅读 · 0 评论 -
socket通信中字节流、字符流区别
先来看一下流的概念:在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。字节流与字符流在java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。在字节流中输出数据主要是使用OutputS转载 2016-07-30 08:34:07 · 11939 阅读 · 0 评论 -
分布式锁的几种实现方式
目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都需要牺牲强一致...转载 2018-02-23 10:22:24 · 241 阅读 · 0 评论