自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 秒杀系统性能测试和优化

对于大并发量的系统,有几个可能需要优化的点,下面我们要一步步测试来优化这个系统。测试目标对于一个系统,几个常用的评价指标是:平均响应时间、吞吐率、qps等。我的测试主要测试3个接口主页(访问根路径,没有数据库交互)秒杀接口暴露(暴露秒杀接口,有后台数据交互)执行秒杀操作(插入秒杀成功记录和减库存一个完整的事务操作)对于这三个接口,我们主要的测试目标和优化目标是平均响应时间,当然这是建立在数据

2017-10-23 15:14:11 5577

原创 关于intern和字符串

以下实验基于jdk1.8 内容探讨涉及具体JVM的均基于HotSpot VM首先来看个例子 String s1 = new String("aa")+new String("a"); String s2 = "aaa"; System.out.println(s1 == s2);这段代码大家都知道输出是false。但是我们加一行代码来试试看。

2017-09-12 11:50:18 320 1

原创 Spring容器初探

好吧,拖了很久没写的spring。我们先从最简单的开始吧。版本: springFramework 4.2.6RELEASE JDK 1.8spring像个大水桶,什么都装。先来看一段简单的代码。public static void main(String[] args) { BeanFactory factory = new XmlBeanFactory(new ClassPathRes

2017-08-20 20:56:56 278

原创 实习两周来的体验

这份实习可谓阴差阳错,投的是后端岗,去到给了我一份爬虫的笔试题,说招的是爬虫。后来面试过程也比较顺利,面试官见我没写过爬虫,也就不问了爬虫了。问了一些计算机基础和一些Java基础。最后招了我,我拿到offer的时候想,我没写过爬虫也敢招我,岗位的描述我也挺感兴趣。那就进吧,虽然自己一直是一后端为主,不过一直都挺重视基础,写爬虫也没什么关系大概。于是入职到现在有两周了。 在一个生产环境中确实能让人快

2017-08-04 21:47:01 390 1

原创 迭代(一)搭建框架基础体系

“写一个框架”的一系列文章是一个mvc框架的开发文档。这个项目实现一个mvc框架,纯属练手项目。文档也只是辅助和记录开发,因此没有十分严谨和详尽。项目地址:cris`s framwork.迭代一需求分析这个框架要实现什么功能?一个框架能有什么功能? 在这个迭代的开始,我们不妨把目标定得低些,框架的意义就是让开发更简单,因此我们这款框架的目标可以初步定义为,用下面简单的代码来开发。@Controll

2017-06-26 20:46:50 568

原创 加勒比海盗5——死无对证

大概是初中还是高中的时候看过加勒比系列。时隔这么久,一点儿印象都没有了。乘着热映期和舍友去看了加勒比5,观影的过程是愉悦的,之前四部记忆的缺失也并没有太大影响。回来后刷了一下知乎,看到了一些比较出乎我意料的评价。有些感受想表达一下,遂有此文。什么样的电影算是好电影?当我在评价一本书值不值得读的时候,一般 情况下,我的评价标准是,这本书是不是诚意之作。想想这样的标准也是可悲。现在的市场上有太多所谓的“

2017-05-31 23:19:36 593

原创 volatile关键字究竟是什么

volatile关键字究竟是什么?本文结构如下: * 通过实现线程安全的单例模式来引出volatile的作用 * 为什么要禁止重排序 * 为什么禁止重排序可以保障有序性和可见性 * volatile究竟有没有保证原子性线程安全的单例模式下面这段看似简单单例模式的实现包含了很多。public class MutiThreadSingleton { private static vola

2017-05-26 19:39:27 297

原创 JDK动态代理

背景JDK动态代理是java为我们提供的很好用的代理工具。JDK动态代理只能为我们提供面向接口的代理,但并不是所有需要代理的类都符合这样的要求。一个解决的方法是使用另外一个比较常用的工具cglib。spring在实现代理的时候就是这样当需要为接口代理时使用JDK动态代理,为类代理时使用cglib,这里是出于性能的权衡。当然还有其他级别的代理,这里不多涉及了。如无特殊说明,本文使用的JDK源码版

2017-05-09 21:06:41 231

原创 HashMap和Hashtable探究

java.util包中有一个Map接口,此接口主要有四个常用的实现类,分别是HashMap、Hashtable、LinkedHashMap和TreeMap。其中Hashtable显得有点异样,本文主要探究HashMap和Hashtable的不同。HashMap和Hashtable?继承不同 从上图可以看出,HashMap继承自Map接口的一个实现类AbstractMap,而Hashtable则继承

2017-04-29 09:40:45 284

原创 观察者模式的两种实现和比较

为什么要用观察者模式?GOF那本书里面是这样描述的: 将一个系统分割成一系列相互协作的类有一个常见的副作用:需要维护相关对象间的一 致性。我们不希望为了维持一致性而使各类紧密耦合,因为这样降低了它们的可重用性。情景假设我们有一组数据要用于不同的方案,比如schemeA和schemeB,出于某种原因,A和B之间不能通信,他们不知道彼此的存在。要求当方案改变时可以同时通知到A和B。BadSolut

2017-04-26 13:51:16 1117

原创 注解的定义和应用

注解

2017-04-23 17:32:09 610

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除