好奇好学

学习学习再学习,努力努力再努力,细心细心再细心

设计模式之适配器模式(三种实现) JAVA

适配器模式 定义:适配器你可以看作是一个中间件,对于不匹配的两个东西进行匹配,就像转换器或者转接头一样。举个例子,比如你的电源插座只有两相插座,但是你的笔记本需要三相插座,那怎么办?不匹配啊,你插不进去的,这个时候,你会去找一个三相转两相的转接器,这样就可以用来。所以,适配器的功能就是做两头的转换...

2017-10-30 16:58:01

阅读数 439

评论数 1

和为S的连续整数序列 JAVA实现

题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不...

2017-10-29 16:42:46

阅读数 390

评论数 0

数组中只出现一次的数字 JAVA

数组中只出现一次的数字——剑指OFFER原题 题目描述:一个整型数组B里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 假设,数组A中只有一个数字出现一次,其余都是出现两次,我们可以用一次遍历异或解决,例如数组A{1,2,1,2,3},将这五个数字异或的结果是3...

2017-10-29 15:58:14

阅读数 402

评论数 0

Java CyclicBarrier的使用

Java CyclicBarrier的使用 先说说这个类是用来干嘛的吧: 在集合点的同步:CyclicBarrier是一个同步辅助类,它允许两个或者多个线程在某个点上进行同步。这个类与CountDownLatch类似,也有不同之处: CountDownLatch Cyc...

2017-10-29 14:21:04

阅读数 129

评论数 0

CountDownLatch的使用 Java

首先讲一下这个类是干嘛的: 这是java中的同步辅助类。作用:在完成一组正在其他线程中执行的操作之前,它允许线程一直等待。这个类使用一个整数进行初始化,这个整数就是线程等待完成的操作数目。当一个线程要等待某些操作先执行完时,需要调用await()方法,这个方法让线程进入休眠直到等待的所有操作都完...

2017-10-29 13:00:10

阅读数 154

评论数 0

java锁的公平性

修改所的公平性: ReentrantLock和ReentrantReadWirteLock类的构造器都含有一个布尔参数fair,它允许你控制这两个类的行为。 (1)默认fair的值是false,它称为非公平模式,在非公平模式下,当有很多线程在等待锁(ReentrantLock和Reen...

2017-10-28 21:10:46

阅读数 125

评论数 0

实现缓存 java实现

主要用了java的读写锁,读的时候加读锁,要写入数据的时候加写锁,不难的import java.util.HashMap; import java.util.Map; import java.util.concurrent.locks.ReadWriteLock; import java.util...

2017-10-28 20:52:42

阅读数 139

评论数 0

java ThreadLocal详解

ThreadLocal的作用:ThreadLocal修饰的变量一般称为线程本地变量,它是一种特殊的线程绑定机制,将变量与线程绑定在一起,为每一个线程维护一个独立的变量副本。通过ThreadLocal可以将对象的了可见范围限制在同一线程内。 下面我们老看看小案例: import java.util....

2017-10-28 15:05:38

阅读数 100

评论数 0

java8 接口的默认方法和静态方法

java8 接口的默认方法和静态方法 首先我们要总体说一下,为什么要有这两个方法存在: (1)原先的jdk7之类的,它们接口中的方法都是抽象方法,没有具体的实现,就相当于定义好了这个接口有哪些功能,却没有具体定义功能是怎么实现的,通常由接口的实现类来做具体功能实现。那么,如果面向接口编程,大家...

2017-10-28 09:52:57

阅读数 837

评论数 0

Java8 Lambda表达式

Lambda表达式——java8的新特性 Lambda表达式:允许我们将函数当成参数传递给某个方法,或者把代码本身当作数据进行处理。 讲之前先引入一个概念叫函数编程,这个对于用过c#,Python的同学来讲应该不陌生,但是对于学java的同学来讲还是很陌生的。自java8开始正式支持函数编程。...

2017-10-27 21:06:18

阅读数 74

评论数 0

2017ebay在线编程题:判断死锁

题目描述: 给你一个队列,队列长度是L,你可以对这个队列循环进行读操作和写操作,写操作(写入W个字符)时,如果队列中空余长度大于写的长度,那么可写,否则需要先进行读操作(读R个字符),等写空间大于W时,才能进行写操作; 不可读:队列中的可读字符不超过R个,则不可读 不可写:队列中的可写长度不...

2017-10-24 22:13:48

阅读数 294

评论数 0

负载均衡算法,nginx应用

大型网站架构系列:负载均衡详解(3) 转载地址http://www.cnblogs.com/itfly8/p/5080743.html                              写的真是太好了 本次分享大纲 软件负载均衡概述Ngnix负载均衡Lvs负载均衡Hapr...

2017-10-23 10:41:46

阅读数 145

评论数 0

大型网站架构系列:负载均衡详解(1)

大型网站架构系列:负载均衡详解(1) 转载地址http://www.cnblogs.com/itfly8/p/5043435.html; 先转一篇后期整理 面对大量用户访问、高并发请求,海量数据,可以使用高性能的服务器、大型数据库,存储设备,高性能Web服务器,采用高效率的编程语言比...

2017-10-23 10:11:26

阅读数 142

评论数 0

java 线程的join方法解析

java 多线程join()的使用,及原理介绍 先说一下join()有什么用吧?thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。 首先这个...

2017-10-21 19:20:35

阅读数 123

评论数 0

JAVA中新建一个子类的执行过程

初始化过程是这样的:  1.首先,初始化父类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化;  2.然后,初始化子类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化;  3.其次,初始化父类的普通成员变量和代码块,在执行父类的构造方法; 4.最后,初始化子类的普通成员...

2017-10-20 15:43:03

阅读数 2544

评论数 0

HHTP协议无连接和无状态的原因

HTTP是一个属于应用层的面向对象的协议,HTTP 协议一共有五大特点:1、支持客户/服务器模式;2、简单快速;3、灵活;4、无连接;5、无状态。 无连接   无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间...

2017-10-14 10:11:56

阅读数 292

评论数 0

Mysql之inner join,left join,right join

Mysql之inner join,left join,right join详解 inner join(等值连接):只返回两个表中联结字段相等的行; left join(左联接):返回包括左表中的所有记录和右表中联结字段相等的记录; right join(右联接):返回包括右表中的所有记录和左...

2017-10-13 20:59:17

阅读数 162

评论数 0

海量数据处理 - 10亿个数中找出最大的10000个数(top K问题)

前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了),这个问题还是建立最小堆比较好一些。         先拿10000个数建堆,然后一次添加剩余元素,如果大于堆顶的数(10000中最小的),将这个数替换堆...

2017-10-02 16:36:00

阅读数 534

评论数 0

mysql 联合索引的命中规则

首先明确:为什么要用联合索引? 对于查询语句“SELECT E.* FROM E WHERE E.e1=1 AND E.e3=2”涉及到两列,这个时候我们一般采用一个联合索引(e1, e3);而不用两个单列索引,这是因为一条查询语句往往应为mysql优化器的关系只用一个索引,就算你有两个索引,他...

2017-10-02 11:43:00

阅读数 4718

评论数 1

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