201801-04 图解区块链:14张图看懂什么是“区块链技术”? NEW 区块链技术最初源于解决“拜占庭将军”问题,金融科技的发展使得区块链技术有了更好的应用场景。它最显著的特征是去中心化,当然在应用中也存在一些技术和安全的挑战。欲知何为区块链?且看图示详解。 ... Read More >
201801-04 Java 泛型的使用 NEW Java 泛型Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。假定我们有这样一个需求:写一个排序方法,能够对整型数组、字符串数组甚至其他任何类型的数组进行排序,该如何实现?答案是可以使用 Java 泛型。使用 Java 泛型的概念,我们可以写一个泛型方法来对一个对象数组排序。然后,调用该泛型方法来对整型... Read More >
201801-04 采用静态Map、ConcurrentHashMap处理缓存 NEW 考虑到在使用HashMap在并发时会出现不正确行为,根据网上资料自己编写了采用ConcurrentHashMap来完成静态缓存的处理,目的是为了能够用来处理高并发的线程安全类package com.zengms.cache; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import org.apache.commons.loggi... Read More >
201801-02 漫画:什么是 CAS 机制? ————— 第二天 —————————————————示例程序:启动两个线程,每个线程中让静态变量count循环累加100次。最终输出的count结果是什么呢?一定会是200吗?加了同步锁之后,count自增的操作变成了原子性操作,所以最终的输出一定是count=200,代码实现了线程安全。为什么这么说呢?关键在于性能问题。Synchronized关键字会让没有得到锁资源的线程进入BLOCKED状态,而后在争夺到锁资源后恢复为RUNNABLE状态,这个... Read More >
201801-02 单例模式【java版】 单例模式【java版】一、基本特点 如何防止创建多个实例:构造方法设置为私有,使得外部无法直接new出实例 基本组成:a)一个静态的和自身类型相同的成员对象 ... Read More >
201801-02 代理模式【java版】 代理模式【java版】应用场景: 安全代理:控制对原对象的访问权限 注: 之所以把权限控制放在"代理类"中,而不是放在原对象中,主要依据"单一性原则". &... Read More >
201801-02 离太闲的人远一点 作者:李月亮微信公众(bymooneye)01我妹两年前谋得一份好职,收入不错,又稳定清闲,当时是101分的满意。但是上周她辞职了,因为太稳定太清闲。她说,自己闲还好,利用时间看看专业书,把以前想考的证都考下来,再学点别的技能,也不算荒废时光。但所有同事都很闲,麻烦就大了。他们整天无所事事,眼睛光盯着其他人,品头论足,勾心斗角,争风吃醋。你考专业证,他们就去老板那说你心很野,恐怕待不长。你穿短裙,他们就说你轻浮不自重,推测你是想勾搭谁。你认真工作,他们都会说你心机婊,妄图讨领... Read More >
201801-02 大道至简,职场上做人做事做管理 大道至简,越是根源和基本的问题,道理实际上越简单。关于如何做人、做事、做管理的书很多,我看得不多,但是我觉得这些书更多是侧重技术和实现细节上的,而很少从人的思想和观念去讲。实际上,从根本上去说,如何做人做事是世界观的问题,也是一个哲学话题。很多人和我一样,已经到了快30的年纪,是需要去思考一下应该如何做人如何做事的,也需要一套简单、有效、完整的体系来指导自己,而这套体系将是让自己安身立命于这个世界的基石。 职场上如何做人 关于在职场上如何做人,我只谨记两个字--服务。你要... Read More >
201801-02 更容易理解HTTPS 本文尝试一步步还原HTTPS的设计过程,以理解为什么HTTPS最终会是这副模样。但是这并不代表HTTPS的真实设计过程。在阅读本文时,你可以尝试放下已有的对HTTPS的理解,这样更利于“还原”过程。 我们先不了聊HTTP,HTTPS,我们先从一个聊天软件说起,我们要实现A能发一个hello消息给B: 如果我们要实现这个聊天软件,本文只考虑安全性问题,要实现A发给B的hello消息包,即使被中间人拦截到了,也无法得知消息的内容 如何做到真正的安全? 这个问题,很多人马... Read More >
201801-02 8 个帮助你编写可维护、精简化前端代码的 CSS 策略 写基本的 CSS 和 HTML 是入门 Web 开发首先需要学习的事情之一。然而我遇到的很多程序显然没有真正的花时间去考虑前端开发的长期性和可维护性。我认为这主要是因为很多开发者在组织他们的 CSS/HTML 和 JavaScript 时没有深入地理解相关的策略。对于我和我们团队来说,最重要的事情写可维护的前端代码。虽然我们有好几个客户一直合作多年,但一定要记住,你永远不会是在某个应用程序的唯一开发者。你的... Read More >
201801-02 2018年,你最需要明白的50句话 2017年12月31日,最后一批90后(生于1999年12月31日)度过了他们18岁的生日。意味着:从法律上来讲,90后一代已全部成年,集体告别了少年时代。好多人在朋友圈晒自己18岁的照片,有的调侃自己:@九月_xm:十八岁那一年最大的改变就是发烧之后内双变外双啦。@周诗涵Ruby:我的18岁拥有一个非主流狗啃非主流刘海。也有人遗憾,在最美好的年纪,却没有留下一张照片:@是靓不是静婧靖:我翻遍了QQ相册最早的照片是20的,18岁的我那时候没有手机,那时候照相全靠相机。时间、逝... Read More >
201801-02 标准Web系统的架构分层 标准Web系统的架构分层1、架构体系分层图在上图中我们描述了Web系统架构中的组成部分。并且给出了每一层常用的技术组件/服务实现。需要注意以下几点:系统架构是灵活的,根据需求的不同,不一定每一层的技术都需要使用。例如:一些简单的CRM系统可能在产品初期并不需要K-V作为缓存;一些系统访问量不大,并且可能只有一台业务服务器存在,所以不需要运用负载均衡层。业务系统间通信层并没有加入传统的HTTP请求方式。这是因为HTTP请求-响应的延迟比较高,并且有很多次和正式请求无关的通信(这... Read More >
201712-31 个人管理:渴望成长的年轻人,最值得培养的4个习惯 三、多读人物传记 迄今为止,我读过的人物传记有《张居正传》、《司马懿传》、《和珅传》、《曾国藩传》、《查理·芒格传》等等,列的这些是最近读的,记得比较清楚。 读人物传记除了打发时间,看看故事之外,还有一个最重要的作用就是他们的一些个性和品质会影响你,可能在未来某件事上帮你大忙。 《虎啸龙吟》是一部正在热播的电视剧,讲的是魏国谋臣司马懿的一生。司马懿身上最突出的特点就是能忍。他的宠物是一个乌龟,以此来警示自己遇事谨慎,不要盲目出头、锋芒毕露,做个缩头乌龟明哲保身也无妨... Read More >
201712-31 当你看不到未来时,我希望你可以做好这三件事 花白老师的第一次的作业,是让写一个自己喜欢的一位作家,并分析评价他的一段话。我所喜欢的这个人,严格意义上来说不是一位作家,他就是美国金融界的大亨,也是股神巴菲特的老伙计、老搭档——查理·芒格。然而他对我的影响实在太深,几乎是没有哪位作家可以比拟的。所以思来想去,还是写了他。喜欢查理·芒格才是近几年的事。有一阵子,忽然很苦闷,有很多想不通的问题,不知道去哪里寻找答案。有一天在网上乱逛的时候,无意间看到了查理·芒格在哈佛大学毕业典礼上发表的演讲,虽只是短短的一篇文章,却几乎刷新了... Read More >
201712-31 内向的人自带光芒 你有没有过这样一种经历,你只是不爱说话,喜欢独处,可是经常会遇到一些好为人师的人对你进行说教。你有没有过这样一种感受,你本身不是爱热闹的人,你的心灵趋向安静,不管在学校还是在工作岗位,周围的人背后都会对你指指点点,仿佛你是一个有问题的人。你是否有过这样一种体会,你只是喜欢沉静在自己世界,不会主动讨好别人,不管参加聚会还是集体活动,对你来说都是一种煎熬,为了礼貌你应付性的融入群体,而你的内心却希望这次饭局越早结束越好。内向的人似乎天生易遭黑,内向的人往往在哪都易躺枪。 内向的人... Read More >
201712-29 java调用redis的八种方式 Redis是一个著名的key-value存储系统,而作为其官方推荐的Java版客户端jedis也非常强大和稳定,支持事务、管道及有jedis自身实现的分布式。在这里对jedis关于事务、管道和分布式的调用方式做一个简单的介绍和对比:一、普通同步方式最简单和基础的调用方式,@Test public void test1Normal() { Jedis jedis = ... Read More >
201712-29 Spring下redis的配置 这个项目用到redis,所以学了一下怎样在Spring框架下配置redis。1、首先是在web.xml中添加Spring的配置文件。<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-in... Read More >
201712-28 Java 文档注释 Java 文档注释Java 支持三种注释方式。前两种分别是 // 和 /* */,第三种被称作说明注释,它以 /** 开始,以 */结束。说明注释允许你在程序中嵌入关于程序的信息。你可以使用 javadoc 工具软件来生成信息,并输出到HTML文件中。说明注释,使你更加方便的记录你的程序信息。javadoc 标签javadoc 工具软件识别以下标签:标签描述示例@author标识一个类的作者@author descr... Read More >
201712-28 2017 年 Java 大事件一览及未来前瞻 过去的一年中,Java 历经了许多变化。在今年年初,Java EE 处于一个不确定的状态,Java 9 版本也推迟了它的发布日期。在 2016 年的 JavaOne 上,甲骨文宣布了解决平台的计划和 Java SE 9 和 OpenJDK 9 的相关信息。2017 年 Java 大事件回顾一、JCP EC 投票通过 Java 模块化系统2017年6月,Java Community Process 执行委员会投票通过了被称为 JSR 376 的 Java 平台模块系统,该平台为... Read More >
201712-28 Java 使用 Redis Java 使用 Redis安装开始在 Java 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 Java redis 驱动,且你的机器上能正常使用 Java。 Java的安装配置可以参考我们的 Java开发环境配置 接下来让我们安装 Java redis 驱动:首先你需要下载驱动包 下载 jedis.jar,确保下载最新驱动包。在你的 classpath 中包含该驱动包。本站提供了 2.9.0 jar 版本下载: ... Read More >