摘要: String是所有语言中最常用的一个类。我们知道在Java中,String是不可变的、final的。Java在运行时也保存了一个字符串池(String pool),这使得String成为了一个特别的类。 主要是为了 “ 效率 ” 和 “ 安全性 ” 的缘故。 若 String 允许被继承, 由于它的 阅读全文
posted @ 2018-04-02 23:09 SessionBest 阅读(515) 评论(0) 推荐(0) 编辑
摘要: 一、概述: 1、什么是双向链表: 链表中的每个节点即指向前面一个节点,也指向后面一个节点,就像丢手绢游戏一样,每个人都手拉手 2、从头部插入 要对链表进行判断,如果为空则设置尾节点为新添加的节点,如果不为空,还要设置头节点的一个前节点为新节点 3、从尾部进行插入 如果链表为空,则直接设置头节点为新添 阅读全文
posted @ 2018-04-02 16:00 SessionBest 阅读(204) 评论(0) 推荐(0) 编辑
摘要: package com.session.link;/** * 单向链表 */public class LinkedList<T> { private Node head;//指向链表头节点的引用变量 private Node tail;//指向链表尾节点的引用变量 int size;//链表中当前总 阅读全文
posted @ 2018-04-02 14:25 SessionBest 阅读(452) 评论(0) 推荐(0) 编辑
摘要: package com.session.chop;import java.util.Arrays;/** * 二分查找 */public class BinarySearch { public static void main(String[] args) { int[] array = new i 阅读全文
posted @ 2018-04-02 14:24 SessionBest 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 堆内存设置 原理 JVM堆内存分为2块:Permanent Space 和 Heap Space。 Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。 Heap = { Old + NEW = {Ed 阅读全文
posted @ 2018-04-02 00:33 SessionBest 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 目录 1、Java数组介绍 2、用类封装数组实现数据结构 3、分析数组的局限性 4、总结 目录 1、Java数组介绍 2、用类封装数组实现数据结构 3、分析数组的局限性 4、总结 上篇博客我们简单介绍了数据结构和算法的概念,对此模糊很正常,后面会慢慢通过具体的实例来介绍。本篇博客我们介绍数据结构的鼻 阅读全文
posted @ 2018-04-02 00:28 SessionBest 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 目录 1、数据结构 一、数据结构的基本功能 二、常用的数据结构 2、算法 一、算法的五个特征 二、算法的设计原则 3、总结 目录 1、数据结构 一、数据结构的基本功能 二、常用的数据结构 2、算法 一、算法的五个特征 二、算法的设计原则 3、总结 一、数据结构的基本功能 二、常用的数据结构 一、算法 阅读全文
posted @ 2018-04-02 00:28 SessionBest 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 1、最近最少使用算法LRU (Least recently used,最近最少使用) 【实现】:最常见的是使用一个链表保存缓存数据 1、新数据插入到链表头部; 2、每当缓存命中(即缓存数据被访问),将数据移动到链表头部; 3、当链表满的时候将链表尾部的数据丢弃; 【代价】 命中时需要遍历链表,找到命 阅读全文
posted @ 2018-04-02 00:27 SessionBest 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 在阅读本文之前,先向大家强烈推荐一下周志明的《深入理解Java虚拟机》这本书。 前些天面试了阿里的实习生,问到关于Dalvik虚拟机能不能执行class文件,我当时的回答是不能,但是它执行的是class转换的dex文件。当面试官继续问,为什么不能执行class文件时,我却只能回答Dalvik虚拟机内 阅读全文
posted @ 2018-04-02 00:27 SessionBest 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 排序一直以来都是让我很头疼的事,以前上《数据结构》打酱油去了,整个学期下来才勉强能写出个冒泡排序。由于下半年要准备工作了,也知道排序算法的重要性(据说是面试必问的知识点),所以又花了点时间重新研究了一下。 排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果 阅读全文
posted @ 2018-04-02 00:26 SessionBest 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 1、根据IP分流 2、根据URL分流 3、根据权重 4、根据响应时间 NGINX负载均衡分发请求的几种方式 1、轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 2、weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情 阅读全文
posted @ 2018-04-02 00:25 SessionBest 阅读(2910) 评论(0) 推荐(0) 编辑
摘要: 1. 背景 最近用户反馈提交的SQL查询一直处于长时间等待状态,经过排查观察,发现部分查询请求丢失,导致用户提交的查询未被正常接收,继而长时间无响应。 现象:集市SQL控制台提交10个简单SQL查询 -> 消息发送方:发送10条消息至消息队列 -> 消息消费方:只消费了7条消息 2. 现状 2.1. 阅读全文
posted @ 2018-04-02 00:22 SessionBest 阅读(14127) 评论(0) 推荐(0) 编辑
摘要: 前言 最近很久没有写博客了,一方面是因为公司事情最近比较忙,另外一方面是因为在进行 CAP 的下一阶段的开发工作,不过目前已经告一段落了。 接下来还是开始我们今天的话题,说说分布式事务,或者说是我眼中的分布式事务,因为每个人可能对其的理解都不一样。 分布式事务是企业集成中的一个技术难点,也是每一个分 阅读全文
posted @ 2018-04-02 00:21 SessionBest 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 分布式领域CAP理论,Consistency(一致性), 数据一致更新,所有数据变动都是同步的Availability(可用性), 好的响应性能Partition tolerance(分区容忍性) 可靠性定理:任何分布式系统只可同时满足二点,没法三者兼顾。忠告:架构师不要将精力浪费在如何设计能满足三 阅读全文
posted @ 2018-04-02 00:20 SessionBest 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 更新缓存策略 失效:应用程序从cache取数据,没有得到,则从数据库取数据,然后将数据放入cache 命中:应用从cache取数据,若取到则返回 更新:把数据更新到数据库,然后使cache失效 借用网上两张图 有没有其他策略? 读操作容易理解,现在讨论一下写的操作 如果先使cache失效,后更新数据 阅读全文
posted @ 2018-04-02 00:19 SessionBest 阅读(493) 评论(0) 推荐(0) 编辑
摘要: 转自:https://my.oschina.net/hosee/blog/607677 其他资料: https://my.oschina.net/zhupanxin/blog/269037 摘要: 本系列基于炼数成金课程,为了更好的学习,做了系列的记录。 本文主要介绍: 1.各种同步控制工具的使用 阅读全文
posted @ 2018-04-02 00:18 SessionBest 阅读(20804) 评论(0) 推荐(2) 编辑
摘要: 示例程序:启动两个线程,每个线程中让静态变量count循环累加100次。 [java] view plain copy public class TestThreadAtomic { private static Integer count = 0; public static void main( 阅读全文
posted @ 2018-04-02 00:17 SessionBest 阅读(345) 评论(0) 推荐(0) 编辑
摘要: CAS原理: 通过查看AtomicInteger的源码可知, `private volatile int value; public final boolean compareAndSet(int expect, int update) { return unsafe.compareAndSwapI 阅读全文
posted @ 2018-04-02 00:16 SessionBest 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 假设某银行只有10个职员。该银行的业务流程分为以下4个步骤: 1) 顾客填申请表(5分钟); 2) 职员审核(1分钟); 3) 职员叫保安去金库取钱(3分钟); 4) 职员打印票据,并将钱和票据返回给顾客(1分钟)。 我们看看银行不同的工作方式对其工作效率到底有何影响。 1 BIO方式 每来一个顾客 阅读全文
posted @ 2018-04-02 00:15 SessionBest 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 模板方法模式:定义一个算法中的操作框架,而将一些步骤延迟到子类中。使得子类可以不改变算法的结构即可重定义该算法的某些特定步骤。(Define the skeleton of an algorithm in an operation, deferring some steps to subclasse 阅读全文
posted @ 2018-04-02 00:14 SessionBest 阅读(103) 评论(0) 推荐(0) 编辑