阅读笔记
文章平均质量分 83
eluanshi12
这个作者很懒,什么都没留下…
展开
-
LSM Tree
LSM原创 2022-12-05 16:35:32 · 652 阅读 · 1 评论 -
为什么使用TypeReference
在使用fastJson的时候对于泛型的反序列化很多场景下都会使用到TypeReference,例如: public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("1"); list.add("2"); JSONObject o = new JSONObject(); o.转载 2021-09-01 16:02:54 · 1208 阅读 · 0 评论 -
创建型-工厂模式
创建型模式: 专注于如何初始化对象 。 人人都能读懂的设计模式(1):创建型模式 在软件工程中,创建型模式是处理对象创建的设计模式,试图根据实际情况使用合适的方式创建对象。基本的对象创建方式可能会导致设计上的问题,或增加设计的复杂度。创建型模式通过以某种方式控制对象的创建来解决这些问题。简单工厂模式工厂方法模式抽象工厂模式简单工厂模式现实生活示例想象一下,你正在建...原创 2018-04-04 14:31:40 · 263 阅读 · 0 评论 -
mysql日志
MySQL数据库可以实现主从复制,实现持久化,实现回滚,其关键在于MySQL里的三种log,分别是:binlogredo logundo logbinlog用于记录数据库表结构和表数据变更的二进制日志,比如insert、update、delete、create、truncate等等操作,不会记录select、show操作,因为没有对数据本身发生变更。使用mysqlbinlog命令可以查看binlog文件内容。会记录下每条变更的sql语句,还有执行开始时间,结束时间,事务id等等信息。使用命原创 2021-04-20 14:33:00 · 224 阅读 · 1 评论 -
线程生命周期
1、创建线程的三种方式:继承 Thread 类,覆写父类中的 run() 方法,新线程类创建线程实现 Runnable 接口,实现接口中的 run() 方法,Thread 类创建线程实现 Callable 接口,FutureTask 类构造创建方法体,Thread 类创建线程3、线程的六种状态:Thread.State 枚举类中的定义NEW:还没开始运行的线程处于这种状态RUNNAB...原创 2019-07-11 09:29:31 · 74 阅读 · 0 评论 -
Java入门第三季 常用工具类之集合框架
Map和HashMap Map接口: 1Map提供了一种映射关系,其中的元素是以键值对(Key-value)的形式存储的,能够实现根据key快速查找value 2Map中的键值对以Entry类型的对象实例形式存在 3键(key值)不可重复,value值可以 4每个键最多只能映射到一个值 5Map接口提供了分别返回key值集合,value值集合以及Entry(键值对)集合的方法 6Ma...原创 2018-05-31 21:56:46 · 232 阅读 · 0 评论 -
文件操作-----文件传输基础-Java IO流
https://www.imooc.com/article/14058IO操作文件传输基础-Java IO流编码问题String s=&amp;amp;amp;quot;慕课ABC&amp;amp;amp;quot;;byte[] bytes1=s.getBytes();//这是把字符串转换成字符数组,转换成的字节序列用的是项目默认的编码for(byte b: bytes1){//toHexString这个函数是把字节(转换原创 2018-06-02 00:01:49 · 2298 阅读 · 0 评论 -
冒泡排序的优化与快速排序
漫画:什么是冒泡排序? 冒泡排序的思想,相邻的元素两两比较,根据大小来交换元素的位置 原始的冒泡排序是稳定排序。由于该排序算法的每一轮要遍历所有元素,轮转的次数和元素数量相当,所以时间复杂度是O(N^2) 。int[] array = new int[]{5,8,6,3,9,2,1,7};//冒泡排序public void BubbleSort1(int arr[]){ ...转载 2018-07-20 10:29:36 · 278 阅读 · 0 评论 -
漫画:动态规划相关内容
动态规划(Dynamic Programming),分阶段求解决策问题的数学思想。应用于编程、管理学、经济学、生物学等。【大事化小,小事化了】【爬10层台阶案例】 最优子结构 F(10)=F(9)+F(8); 边界 F(1)=1、F(2)=2; 状态转移公式 F(n)=F(n-1)+F(n-2);1、递归求解 二叉树,高度N-...转载 2018-07-30 17:14:29 · 1301 阅读 · 0 评论 -
定时任务
在spring-tasks.xml 里<?xml version="1.0" encoding="UTF-8"?><beans xmlns=.....省略一堆><!--每天凌晨3点执行一次 将昨天的数据更新到数据库中 cron="0 0 3 * * ?" --> <task:scheduled-tasks> <task:scheduled ref=原创 2017-10-20 10:11:27 · 301 阅读 · 0 评论 -
CopyOnWrite
原文:不了解这些“高级货”,活该你面试当炮灰。。。【石杉的架构笔记】读多写少的场景下引发的问题多个线程并发读和写ArrayList(ArrayList默认情况下是线程不安全的)怎么让这个ArrayList变成线程安全的呢?比如说一定要在synchronized代码段来对这个ArrayList进行访问,这样的话,就能同一时间就让一个线程来操作它了,或者是用ReadWriteLock读写锁的方式...转载 2019-05-24 11:01:07 · 215 阅读 · 0 评论 -
文件操作----二进制基础
进制转换二进制基础8进制:标志的开头用0表示(这是数字0) 16进制:标志的开头用0x表示(这是数字0加字母x)十进制转换为x进制的方法: 十进制短除x,将余数从下往上写出则为转换后的x进制数 ———二进制的位运算——— 符号 说明 例子 &amp;: 与运算 6&amp;3=2 | 或运算 6|3=7 ^ 异...原创 2018-05-31 17:04:02 · 470 阅读 · 0 评论 -
Logger.getLogger和LogFactory.getLog的区别
转自:Logger.getLogger和LogFactory.getLog的区别Logger来自log4j的包。如果用Logger.getLogger,需要一个log4j的jar包,用此方式你只能依靠log4j:private static Logger logger = Logger.getLogger(“paymentLog”);LogFactory来自common-logging...转载 2018-06-21 14:46:34 · 569 阅读 · 0 评论 -
dubbo源码解析-服务引用原理
阅读笔记dubbo源码解析-服务引用原理将spring的schemas标签信息转换bean,然后通过这个bean的信息,连接、订阅zookeeper节点信息创建一个invoker将invoker的信息创建一个动态代理对象dubbo源码解析-服务暴露原理动态代理,一般我们就想到两种,一种是JDK的动态代理,一种是CGLIB的动态代理,两者特点: JDK的动态代理代理的对象必须...转载 2018-04-08 10:34:17 · 167 阅读 · 0 评论 -
zookeeper+dubbo
转自求职季来一发zookeeper+dubbo吧Dubbo是一种分布式服务框架。 Webservice也是一种服务框架,但是webservice并不是分布式的服务框架,他需要结合F5实现负载均衡。 dubbo除了可以提供服务之外,还可以实现软负载均衡。 还提供了两个功能Monitor 监控中心和调用中心。这两个是可选的,需要单独配置。 它有2部分,服务的提供方和服务的消费方,官...转载 2018-04-09 16:49:08 · 284 阅读 · 0 评论 -
蓝绿部署与滚动部署
什么是蓝绿部署 蓝绿部署,英文名Blue Green Deployment,是一种可以保证系统在不间断提供服务的情况下上线的部署方式。 蓝绿部署的模型中包含两个集群,就好比海豚的左脑和右脑。在没有上线的正常情况下,集群A和集群B的代码版本是一致的,并且同时对外提供服务。1、在系统升级的时候下,我们首先把一个集群(比如集群A)从负载列表中摘除,进行新版本的部署。集群B仍然继续提供服务。 ...转载 2018-04-02 14:57:22 · 1269 阅读 · 0 评论 -
Oracle :数据库优化及 pivot(行转列) 和unpivot(列转行)
在Oracle 11g中,Oracle 又增加了2个查询:pivot(行转列) 和unpivot(列转行)参考:http://blog.csdn.net/tianlesoftware/article/details/7060306、http://www.oracle.com/technetwork/cn/articles/11g-pivot-101924-zhs.html google 一...转载 2018-04-02 15:23:34 · 1271 阅读 · 0 评论 -
SOA框架——Dubbo
转自SOA框架——Dubbo 1.背景 …dubbo框架是流动式计算架构的一种 2.Dubbo是什么 Dubbo是阿里旗下的一个弹性的分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 3.Dubbo能做什么 3.1. 透明化的远程方法调用 没有API侵入,就能像调用本地方法一样调用远程方法。 在实际项目中,通常会对Provider和Cons...转载 2018-04-10 08:52:35 · 511 阅读 · 0 评论 -
C# 观察者模式 以及 delegate 和 event
观察者模式 http://mp.weixin.qq.com/s/XkfiFKPTbOy6kGGzfQOFpA那么什么是观察者模式? 举一个例子: 1、报社发行报纸【发布者】–报社【被观察对象】 2、你订阅报纸, 一旦有新一期的报纸发行, 新报纸就会送到你家里, 只要你一直订阅, 你就一直会收到新报纸【订阅者】–【观察者】 3、你不再订阅报纸的时候, 就收不到以后的新报纸了 4、报社运...转载 2018-04-03 09:12:43 · 1278 阅读 · 0 评论 -
代理模式
《大话设计模式》之–第7章 为别人做嫁衣—-代理模式第一,远程代理,也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实。 当在应用程序的项目中加入一个Web引用,引用一个WebService,此时会在项目中生成一个WebReference的文件夹和一些文件,其实它们就是代理,这就使得客户端程序调用代理就可以解决远程访问的问题。 第二种,虚拟代理,根据...转载 2018-04-04 14:31:08 · 135 阅读 · 0 评论 -
sping+hibrnate事务
sping+hibrnate事务web.xml文件中加载配置文件 <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:spring.xml, class...转载 2018-04-12 10:58:44 · 140 阅读 · 0 评论 -
Raft算法
原文Raft算法的理解 算法主要包括选举和日志同步两部分 简介Raft 是一种通过日志复制来实现的一致性算法,提供了和Paxos 算法相同的功能和性能。 Raft 将一致性问题分解成了三个相对独立的子问题:Leader选举:一个新的Leader需要被选举出来,当先存的Leader宕机的时候。日志复制:Leader必须从客户端接收日志然后复制到集群中的其他节点,并且强制要求其他...转载 2018-04-18 16:24:56 · 617 阅读 · 0 评论 -
十张图让你了解阿里公司架构设计的发展变化史
原文十张图让你了解阿里公司架构设计的发展变化史参考《大型网站技术架构.核心原理与案例分析(李智慧)》书 读-李智慧-大型网站技术架构:核心原理与案例分析 《大型网站技术架构:核心原理与案例分析》笔记大型平台的核心要素主要体现在以下几个方面: 1性能:不管是什么产品,性能永远是客户要求的第一感官,点个查询要等10秒,跳转个页面总是加载不到信息,架构设计再强大也无法让用户感知到你的努力,...转载 2018-04-13 14:24:44 · 2431 阅读 · 0 评论 -
NoSQL - Redis应用场景
转自NoSQL - Redis应用场景DB(Oracle、MySQL、Postgresql等)+Memcached 这种架构模式在我们生产环境中十分常见,一般我们通过Memcached将热点数据加载到cache,应用层首先向Memcached请求数据,如果缓存中存在数据,那么直接返回应用层; 但随着业务数据量的不断增加,和访问量的持续增长,我们也会遇到很多问题:在DB和Memcache...转载 2018-05-29 09:30:30 · 316 阅读 · 0 评论 -
dubbo源码解析-简单原理
dubbo源码解析-简单原理、与spring融合dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案面向服务的体系架构(SOA) (service-oriented architecture)集群 同一个业务,部署在多个服务器上分布式 一个业务分拆多个子业务,部署在不同的服务器上RPC RPC(Remote Procedu...转载 2018-04-08 10:05:22 · 219 阅读 · 0 评论