上一页 1 2 3 4 5 6 ··· 10 下一页
摘要: 背景 Bean的拷贝一直有一些类可以使用,比如Apache的 或者Spring的 。 根据定义的白名单字段进行Bean的拷贝 我需要一个只拷贝我指定的字段的Bean拷贝,而Spring的 提供如下几个方法: 其中第2、3个是可以指定属性的,第2个指定可以通过Class指定,基本满足我的需求;第3个指 阅读全文
posted @ 2017-12-30 17:45 nick_huang 阅读(770) 评论(0) 推荐(0)
摘要: 简化定义匿名实现类 匿名实现类的传统方式 创建一个线程,需要实现 接口,并实现 方法,用传统的方式是这样的: 无参数、单语句方法体 用lambda可以简化成这样: 所以也可以这样: 所以,没参数、单语句的是这样的: 无参数、多语句方法体 当然实现方法中有多条语句的情况下,应该是这样的: 多参数、多语 阅读全文
posted @ 2017-09-17 21:58 nick_huang 阅读(475) 评论(0) 推荐(1)
摘要: 注意 本文的代码,为了学习方便,简化代码复杂度,未考虑拆包、粘包等情况的处理。所以仅供学习使用,不能用于实际环境。 阻塞IO,BIO Java1.1发布的IO是BIO。阻塞地连接之后,通过流进行同步阻塞地通讯。 同步阻塞连接 因同步阻塞地监听连接,如果服务端只有单线程进程处理,每个请求必须等待前一请 阅读全文
posted @ 2017-09-09 13:58 nick_huang 阅读(414) 评论(0) 推荐(0)
摘要: 使用github一段时间,一直使用的是可视化工具,配合公司转用git,提前联系下git的命令。 安装 windows上安装git 从 "git for windows" 下载安装包,我下的是 ,按默认选项安装。 安装完毕后,用命令查下版本看是否安装正常: 常用命令 创建新仓库 新建一个文件夹,比如 阅读全文
posted @ 2017-09-08 20:56 nick_huang 阅读(403) 评论(0) 推荐(0)
摘要: HashMap是常用的集合类,以Key Value形式存储值。下面一起从代码层面理解它的实现。 构造方法 它有好几个构造方法,但几乎都是调此构造方法: 放入元素,put(K key, V value) 实际的逻辑在putVal方法: 通过hash和数组长度计算数组下标,indexFor(int h, 阅读全文
posted @ 2017-08-21 16:17 nick_huang 阅读(252) 评论(0) 推荐(0)
摘要: 阻塞队列 阻塞队列有几个实现: ArrayBlockingQueue LinkedBlockingQueue PriorityBlockingQueue DelayQueue SynchronousQueue LinkedTransferQueue LinkedBlockingDeque 他们的共同 阅读全文
posted @ 2017-08-19 00:05 nick_huang 阅读(431) 评论(0) 推荐(0)
摘要: 单机模式 下载zookeeper的包 解压、分解归档包 修改配置文件 查看下默认的配置文件,基本符合本次测试要求。将 拷贝为 : 配置的简单解释: 启动 查看启动日志 测试是否成功 关闭 单机模式(Windows) 如果我们在Windows下开发,最方便地是用Windows版本的ZooKeeper, 阅读全文
posted @ 2017-08-06 00:35 nick_huang 阅读(680) 评论(0) 推荐(0)
摘要: 最近使用MQTT,安装Mosquitto试一下,并记录下来。 软件准备 从官网获取安装包: 还需要安装一些依赖的软件,我的机器目前缺少的软件(你的机器可能缺少的更多): 安装 修改配置文件 的`WITH_SRV:=yes no`。 启动 查下命令在哪里: 启动: 发现无此用户,启动失败,就添加此用户 阅读全文
posted @ 2017-07-31 00:26 nick_huang 阅读(1498) 评论(0) 推荐(0)
摘要: 毕业许多年,最近在准备一个考试,刚好有数据结构,将可能考的数据结构用图理解,是些比较简单的。 栈 队列 顺序线性表 链式线性表 二叉树 冒泡排序 阅读全文
posted @ 2017-07-27 22:02 nick_huang 阅读(558) 评论(0) 推荐(0)
摘要: 并发与并行 并发 一个或多个处理器执行更多的任务(通过划分时间片来执行更多的任务),从 上实现同时运行: 如,N个并发请求在一个两核CPU上: 并行 N个处理器分别同时执行N个任务,从 上实现同时运行: 线程互斥 阻塞地加锁,通过ReentrantLock.lock()阻塞地加锁 阻塞地加锁的意义, 阅读全文
posted @ 2017-07-16 14:34 nick_huang 阅读(485) 评论(0) 推荐(0)
摘要: 下载 从 "官网" 上下载,目前,最新版是Python3,基于项目需求,我们使用的是Python2。 我是在CentOS上安装,下载的是 。 安装 测试 安装完毕,用 测试,如果看到版本信息说明安装成功。用 退出交互模式。 简单的语法 日期 结果: ZIP文件解压 读取ini文件 ini文件的内容: 阅读全文
posted @ 2017-07-09 21:53 nick_huang 阅读(290) 评论(0) 推荐(0)
摘要: 跨平台 Java的一大特性是跨平台,而Java是如何做到跨平台的呢? 主要依赖Java虚拟机,具体来说,是Java虚拟机在各平台上的实现。 Java虚拟机在不同的平台有不同的实现。同一份字节码,通过运行在不同平台上的Java虚拟机,可以完成相同的处理逻辑。 这样,由不同平台的Java虚拟机屏蔽了不同 阅读全文
posted @ 2017-07-06 22:42 nick_huang 阅读(929) 评论(0) 推荐(0)
摘要: 层级的业务数据在系统中很常见,如组织机构、商品品类等。 如果要获取层级数据的全路径,除了缓存起来,就是递归访问的方式了: 1. 将层级数据缓存在redis中,用redis递归获取层级结构。此方法效率高。 1. 在MySQL中做递归遍历,(Oracle有递归的语法支持,而MySQL并没有),需要自己写 阅读全文
posted @ 2017-06-23 13:00 nick_huang 阅读(7014) 评论(0) 推荐(0)
摘要: 简述 为什么叫Base64?个人理解是,基础的64个字符。 而它的作用?用基础的(可理解为可安全传输的)64个字符,来表示难以表示的二进制或对程序造成干扰的字符。 Base64的编码过程 自行编码分析Base64的编码方式 Base64的编码范围 简单的编码过程 日志: JDK转换Base64的方式 阅读全文
posted @ 2017-06-17 10:40 nick_huang 阅读(410) 评论(0) 推荐(0)
摘要: 简述 简单工厂模式,通过一个方法获取需要的Bean。如果一个工厂方法可获取不同的类,那么可通过入参判断,入参也许为字符串、数字或者枚举。 简单的例子 最简单的就是通过流程判断来确定获取哪个类的实例。 如果日后需增加或减少生成的类,需对流程判断进行修改容易出错,那么通过设置好的映射生成指定类。这里的映 阅读全文
posted @ 2017-06-15 22:15 nick_huang 阅读(262) 评论(0) 推荐(0)
摘要: 简述 适配器模式,目的是将A对象通过适配、转换的方式转换成B对象来使用,为什么转换为B对象?因为用户通过依赖B对象来使用。 适配器的实现有两种方式。 继承实现 组合实现 基于Java单继承的机制,组合实现的方式更为常见、灵活。 Reader、InputStream之间的适配,字符流、字节流之间的适配 阅读全文
posted @ 2017-06-14 22:56 nick_huang 阅读(2210) 评论(0) 推荐(1)
摘要: 简述 装饰器模式,可以通过装饰器类,通过依赖原实现的方式(不使用继承),达到扩展原实现的目的。UML图如下: ServletRequestWrapper于其中的使用 ServletRequestWrapper是ServletRequest接口的简单实现,开发者可以继承ServletRequestWr 阅读全文
posted @ 2017-06-14 16:21 nick_huang 阅读(1712) 评论(0) 推荐(0)
摘要: 搭建一个简单的Spring Session例子 引入依赖包 注册Spring IoC、Spring Session和一些Servlet 最简单的Spring Session的Bean配置 一个测试的Servlet 测试 启动,用浏览器访问该Servlet:http://127.0.0.1:8080/ 阅读全文
posted @ 2017-06-11 23:29 nick_huang 阅读(8469) 评论(0) 推荐(0)
摘要: 通过Java类设置配置信息,JavaConfig Spring常用的通过XML或者@Controller、@Servoce、@Repository、@Component等注解注册Bean,最近看Spring Session的源码,知道还有 注册Bean的方式,就是通过 、`@Bean`注册Bean。 阅读全文
posted @ 2017-06-11 15:43 nick_huang 阅读(479) 评论(0) 推荐(0)
摘要: 简述 本文仅记录如标题所述场景的测试所得,由于场景有些特殊,且并不需兼容所有浏览器,所以本文的内容对读者也许并无作用,仅为记录。 场景、与实现 需在移动端单点登录 需在移动端跨域访问我们的服务 基于历史原因: 单点登录验证后,如Web网站一样,用Cookie携带SessionID到服务器,服务器根据 阅读全文
posted @ 2017-06-10 19:13 nick_huang 阅读(2696) 评论(0) 推荐(1)
摘要: 简述 在调试H5页面、APP的网络请求时,常用Fiddler进行抓包,查看网络报文是否如我们设想。当然,Fiddler也可对我们电脑端发出HTTP请求进行抓包。 Fiddler是以代理的形式运行的,即浏览器发出请求经过Fiddler到达服务器,服务器返回的响应经过Fiddler到达浏览器。 比如,打 阅读全文
posted @ 2017-06-09 23:09 nick_huang 阅读(308) 评论(0) 推荐(0)
摘要: `Maven`是项目构建工具,能根据配置构建起一个项目。 中有一个配置文件,叫 ,而 的全称是 ,即 ,它配置的目标对象是项目。 如何安装Maven 可见另一篇博文“ "【Maven】Maven的安装与入门使用" ”。 新建一个Maven项目 这里就不用Maven命令新建项目了,我们用Eclipse 阅读全文
posted @ 2017-06-05 20:57 nick_huang 阅读(434) 评论(0) 推荐(0)
摘要: ![](http://images2015.cnblogs.com/blog/463931/201705/463931-20170530230538508-1053890262.png) ![](http://images2015.cnblogs.com/blog/463931/201705/463931-20170530230558789-550327506.png) ![](http://... 阅读全文
posted @ 2017-05-31 15:18 nick_huang 阅读(1547) 评论(0) 推荐(0)
摘要: 准备安装软件 安装libfastcommon master 安装FastDFS 拷贝配置文件 [root@blog fdfs] ll /etc/fdfs/ total 20 rw r r 1 root root 1461 May 23 11:02 client.conf.sample rw r r 阅读全文
posted @ 2017-05-29 15:17 nick_huang 阅读(392) 评论(0) 推荐(0)
摘要: 常用的日志框架 ,全称 ,即 ,顾名思义,它并非具体的日志实现,而是日志外观框架 ,是JDK自带的一个日志实现框架 ,一个流行的日志实现框架 ,一个流行的日志实现框架 java.util.logging ,JDK自带的一个日志实现框架,我们并没有在项目中使用,但在个人练习中常使用来打印日志,来个最简 阅读全文
posted @ 2017-05-29 15:10 nick_huang 阅读(1111) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 ··· 10 下一页