自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (1)
  • 收藏
  • 关注

原创 设计模式(Design Patterns)

一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。其实还有两类:并发型模式和线程池模式。用一个图片来整体描述一下:二、设计模式的六大原则1、开闭原则(Ope

2021-06-30 10:58:39 165

原创 00 如何设计一个秒杀系统——秒杀系统架构设计都有哪些关键点

一、如何理解秒杀系统秒杀系统其实主要解决两个问题,一个是并发读,一个是并发写。并发读的核心优化理念是尽量减少用户到服务端来“读”数据,或者让他们读更少的数据;并发写的处理原则也一样,它要求我们在数据库层面独立出来一个库,做特殊的处理。另外,我们还要针对秒杀系统做一些保护,针对意料之外的情况设计兜底方案,以防止最坏的情况发生。总之,要遵循几个原则,就是要保证用户请求的数据尽量少、请求数尽量少、路径尽量短、依赖尽量少,并且不要有单点。二、秒杀系统的要求其...

2021-06-25 11:01:03 1727

原创 something just like this

解决问题:1、正则表达式,导致cpu飙升,拖慢了其他业务响应。2、redis aof,导致redis连接超时,进程假死,jetty连接数爆了。3、updateagent批量插入优化:a) 目标库建表时先不加索引,导入完成后添加索引。b) 尝试改造程序逻辑,保留多线程从uds获取,减少insert线程数,增加mysql顺序写磁盘,记录性能表现。c) 减少通信次数,增加单次写入量,insert单次包大小保持在32M左右。d) Mysql配置max_allowed_pack...

2021-05-24 20:18:42 431

原创 金融那点事

方差、协方差夏普比率计算投资组合每承受一单位总风险,会产生多少的超额报酬。E(Rp):投资组合预期报酬率Rf:无风险利率(国债利率)σp:投资组合超额收益的标准差举例而言,假如国债的回报是3%,而您的投资组合预期回报是15%,您的投资组合的标准偏差是6%,那么用15%-3%,可以得出12%(代表您超出无风险投资的回报),再用12%/6%=2,代表投资者风险每增长1%,换来的是2%的多余收益。最大回撤率在选定周期内任一历史时点往后推,产品净值走到最低点时的收益率回.

2020-05-26 18:45:29 551

原创 知识点整理

深入了解Protocol Buffer 序列化原理大揭秘Java NIOIO与NIO区别MySQL主从复制--原理MySQL中性能瓶颈定位Show命令Mysql> show status ——显示状态信息(扩展show status like ‘XXX’)Mysql> show variables ——显示系统变量(扩展show variables...

2019-09-09 15:06:50 681

原创 可能是最全的java架构师面试题

架构师必读最全最新java面试题系列全家桶(带答案)架构师职位常见面试题源码分析常用设计模式23种经典设计模式都有哪些,如何分类阿里java设计模式面试题Spring 框架中都用到了哪些设计模式开发中都用到了那些设计模式?用在什么场合?微服务架构的六种常用设计模式是什么?1、proxy代理模式2、factory工厂模式3、singleton单例模式4、delegate委派...

2019-08-11 15:12:44 26949 2

转载 nginx + lua 白名单机制

webshell 都有一个特点,几乎都是通过POST来进行功能的操作。 无论是 简单的 “一句话”webshell 还是 类似 phpspy 之类的。 当我们开启了POST白名单。那么没有通过我们认证的POST 都是不允许通过的,从而可以防止线上已经存在的 或 新上传的 webshell。belial waf 白名单配置:1、 nginx.conf 设置在 http 节 添加

2015-07-14 16:02:44 2963

转载 接口、抽象类、内部类

1.接口(interface),接口被用来建立类与类之间关联的标准。Java code public interface ITest{ public void test();}public class TestImpl implements ITest{ public void test(){ System.out.println("t

2015-03-24 17:40:28 336

转载 logstash+elasticsearch+kibana3

日志监控和分析在保障业务稳定运行时,起到了很重要的作用,不过一般情况下日志都分散在各个生产服务器,且开发人员无法登陆生产服务器,这时候就需要一个集中式的日志收集装置,对日志中的关键字进行监控,触发异常时进行报警,并且开发人员能够查看相关日志。logstash+elasticsearch+kibana3就是实现这样功能的一套系统,并且功能更强大。    logstash是一个管理日志和事件的

2015-03-19 14:20:38 564

转载 深入JVM——类型的生命周期(二)

转自 http://xtu-tja-163-com.iteye.com/blog/769357   上篇文章已经说了类型生命周期中的装载及连接过程,下面将主要描述下初始化过程。        首先要搞清楚初始化和实例化之间的区别:实例化是根据指定类型,在堆中生成一个实例对象,而初始化则不是,它所作的处理主要是为类变量赋予初始值,这里所说的初始值是相对于连接准备阶段的默认值而言的。

2015-01-27 03:48:53 427

转载 深入JVM——类型的生命周期(一)

转自 http://xtu-tja-163-com.iteye.com/blog/769226类型:类的描述信息,如此类有哪些局部变量、方法以及它的父类是什么等类型存储地址:内存中的方法区类型的生命周期的简单描述类型生命周期过程: 装载——>连接——>初始化——>卸载装载:把二进制的java类型(class文件)读入到java虚拟机中连接:把读入的类型数据合

2015-01-27 03:48:25 379

转载 深入JVM——类加载器(一)

转自 http://xtu-tja-163-com.iteye.com/blog/770401    在类生命周期里面分析过,类首先要被加载,形成一个Class实例,然后进行动态连接,然后进行初始化、实例化等,最后在类型不可触及时,被卸载收集。然而类是被什么加载到JVM内存里的呢?当然是类加载器。下面,详细分析下类加载器。文章参考:http://weiwu83.iteye.com/bl

2015-01-27 03:47:20 429

转载 深入JVM——类加载器(二)

转自 http://xtu-tja-163-com.iteye.com/blog/770449     上篇文章主要分析了类加载器的种类以及加载规则。下面,将主要分析下与加载器有关的java程序动态扩展。      这篇文章只挑了类加载器的一个问题来分析,如果要想了解类加载器的一些常见问题以及自定义类加载要注意的一些细节,可以参考我的上篇文章:    http://xtu-tja-

2015-01-27 03:47:12 370

转载 深入JVM——栈和局部变量

转自 http://xtu-tja-163-com.iteye.com/blog/775987     java栈概述        记得当初我学习java时,常常听见身边的朋友说:“你要记住,当new一个对象时,对象的引用存放在栈里,而对象是存放在堆里的”。当时,听到这句教导时,脑海里立即出现栈的模型——里面存的仅仅是个引用。最近,看了下《深入JVM》,才发现,原来栈并不是我

2015-01-27 03:45:01 477

转载 深入JVM——常量池

转自 http://xtu-tja-163-com.iteye.com/blog/769996     上面主要分析了方法区以及方法区中的静态区域,下面将主要分析下常量池。常量池主要涉及到常量池里的内容和常量池解析这两块,这篇文章主要分析下常量池概念,大致说下常量池解析,以加深对常量池的理解。      在方法区中,每个类型都对应一个常量池,常量池中存储了诸如文字字符串、final变量

2015-01-27 03:44:13 4515

转载 深入JVM——方法区

转自 http://xtu-tja-163-com.iteye.com/blog/769992  当JVM使用类装载器装载某个类时,它首先要定位对应的class文件,然后读入这个class文件,最后,JVM提取该文件的内容信息,并将这些信息存储到方法区,最后返回一个class实例。上面是对类的装载过程作了个简单的描述,看了上面一段文字,也许你会问:方法区是什么?里面存了哪些内容?下面我们将对方

2015-01-27 03:42:49 831

转载 深入JVM——垃圾收集器(一)

转自:http://xtu-tja-163-com.iteye.com/blog/771401 垃圾收集的目的在于清除不再使用的对象。gc通过确定对象是否被活动对象引用来确定是否收集该对象。gc首先要判断该对象是否是时候可以收集。两种常用的方法是引用计数和对象引用遍历。 引用计数收集器 引用计数是垃圾收集器中的早期策略。在这种方法中,堆中每个对象(不是引用)都有一个引用计数

2015-01-27 03:41:52 298

转载 深入JVM——垃圾收集器(二)

转自:http://xtu-tja-163-com.iteye.com/blog/771423上篇文章主要描述了一下垃圾收集器的收集方式以及收集器的种类。如果对垃圾收集器还不是很了解的朋友可以去网上搜索下资料看看,或直接看《深入JVM》,如果觉得麻烦,可以看看我上篇blog。地址是: http://xtu-tja-163-com.iteye.com/blog/771401 

2015-01-27 03:40:48 636

转载 设计模式(Design Patterns)

设计模式(Design Patterns)                                  ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真

2015-01-26 22:08:40 706

转载 JVM系列五:JVM监测&工具[整理中]

转自:http://www.cnblogs.com/redcreen/archive/2011/05/09/2040977.html       前几篇篇文章介绍了介绍了JVM的参数设置并给出了一些生产环境的JVM参数配置参考方案。正如之前文章中提到的JVM参数的设置需要根据应用的特性来进行设置,每个参数的设置都需要对JVM进行长时间的监测,并不断进行调整才能找到最佳设置方案。本文

2015-01-21 15:26:48 373

转载 JVM系列四:生产环境参数实例及分析【生产环境实例增加中】

转自:http://www.cnblogs.com/redcreen/archive/2011/05/05/2038331.htmljava application项目(非web项目)改进前:-Xms128m-Xmx128m-XX:NewSize=64m-XX:PermSize=64m-XX:+UseConcMarkSweepGC-XX:CMSInitiati

2015-01-21 15:26:02 254

转载 JVM系列三:JVM参数设置、分析

转自:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html   不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于

2015-01-21 15:25:15 368

转载 JVM系列二:GC策略&内存申请、对象衰老

转自:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037056.html       JVM里的GC(Garbage Collection)的算法有很多种,如标记清除收集器,压缩收集器,分代收集器等等,详见HotSpot VM GC 的种类       现在比较常用的是分代收集(generational collection,

2015-01-21 15:23:37 327

转载 JVM系列一:JVM内存组成及分配

转自:http://www.cnblogs.com/redcreen/archive/2011/05/04/2036387.htmljava内存组成介绍:堆(Heap)和非堆(Non-heap)内存       按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非

2015-01-21 15:23:19 333

转载 HBase/Hadoop学习笔记

摘自:http://www.educity.cn/wenda/387353.html学习目标:  至少掌握五点:  1.    深入理解HTable,掌握如何结合业务涉及高性能的HTable。  2.    掌握与HBase的交互,通过HBase Shell命令及Java API进行数据的增删改查。  3.    掌握如何用MapReduce分析HBase里的数据 

2015-01-19 10:11:51 491

转载 推荐体系之协同过滤概述

协同过滤(Collaborative Filtering)是现今推荐系统中应用最为成熟的一个推荐算法系类,它利用兴趣相投、拥有共同经验之群体的喜好来推荐使用者感兴趣的资讯,个人透过合作的机制给予资讯相当程度的回应(如评分)并记录下来以达到过滤的目的进而帮助别人筛选资讯(参考wiki,文字有点生硬,不过却很好的描述了协同过滤的一个互动性:用户参与用户获益)。边整理边写了整整一天o(╯□╰)o

2015-01-14 17:53:29 567

转载 多路查找树/B~树/B+树

转自:http://hxraid.iteye.com/blog/611105在前面专题中讲的BST、AVL、RBT都是典型的二叉查找树结构,其查找的时间复杂度与树高相关。那么降低树高自然对查找效率是有所帮助的。另外还有一个比较实际的问题:就是大量数据存储中,实现查询这样一个实际背景下,平衡二叉树由于树深度过大而造成磁盘IO读写过于频繁,进而导致效率低下。那么如何减少树的深度(当然不能减

2015-01-14 16:26:17 380

转载 JVM性能调优

最近因项目存在内存泄漏,故进行大规模的JVM性能调优,现把经验做一记录。一、JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为:New(年轻代)Tenured(年老代)永久代(Perm)  其中New和Tenured属于堆内存,堆内存会从JVM启动参数(-Xmx:3G)指定的内存中分配,Perm不属于堆内存,有虚拟机直接分配,但可以通过-XX:Perm

2015-01-13 09:47:29 434

转载 两个上亿行的大文件取交集

前两天看到一哥们百度面试归来后发的帖子,并分享了其百度面试题,其中有一个题大意如下:现有两个上亿行的文件,每一行都只有一个数字,求这两个文件的交集。我的思路如下:首先是分别对这两个文件排序,然后,再同时遍历这两个文件。求出交集即可。下面我对大文件的排序进行了简单的实现。基本思路如下,首先对大文件进行拆分,一亿行的大文件可以拆分成10个小文件,并分别对这10个小文件进行排序,之后

2015-01-10 01:28:23 935

转载 Spring单例与线程安全小结

一、Spring单例模式与线程安全 Spring框架里的bean,或者说组件,获取实例的时候都是默认的单例模式,这是在多线程开发的时候要尤其注意的地方。 单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。当多用户同时请求一个服务时,容器会给每一个请求分配一个线程,这是多个线程会并发执行该请求多对应的业务逻

2015-01-09 18:00:59 338

转载 Spring单实例、多线程安全、事务解析

引言:    在使用Spring时,很多人可能对Spring中为什么DAO和Service对象采用单实例方式很迷惑,这些读者是这么认为的:    DAO对象必须包含一个数据库的连接Connection,而这个Connection不是线程安全的,所以每个DAO都要包含一个不同的Connection对象实例,这样一来DAO对象就不能是单实例的了。    上述观点对了一半。对的是“每个DAO

2015-01-08 17:18:16 350

java虚拟机中的执行引擎

java虚拟机中的执行引擎:1、最简单的:一次性解释字节码。2、快,但消耗内存的:“即时编译器”,第一次被执行的字节码会被编译成机器代码,放入缓存,以后调用可以重用。3、自适应优化器,虚拟机开始的时候会解释字节码,但是会监视运行中程序的活动,并记录下使用最频繁的代码段。程序运行的时候,虚拟机只把使用最频繁的代码编译成本地代码,其他的代码由于使用的并不频繁,继续保留为字节码--由虚拟机继...

2009-06-22 18:07:19 131

android设计必备的常用axure原型

android设计必备的常用axure原型

2013-06-08

空空如也

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

TA关注的人

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