- 博客(70)
- 资源 (52)
- 收藏
- 关注
转载 深入理解 Java 中的 Lambda
作者:标签: 李三石 来源:my.oschina.net/leili我花了相当多的阅读和编码时间才最终理解Java Lambdas如何在概念上正常工作的。我阅读的大多数教程和介绍都遵循自顶向下的方法,从用例开始,最后以概念性问题结束。在这篇文章中,我想提供一个自下而上的解释,从其他已建立的Java概念中推导出Lambdas的概念。首先介绍下方法的类型化,这是支持方法作为一流公民的先决条件。基于...
2018-06-22 10:44:11
997
转载 浅谈服务治理与微服务
近期都在谈微服务,本人也正在做相关的工作,应领导要求做了一个微服务的分享,本篇文章主要来源于分享的PPT,所以有些简单,有问题可以在下面留言,大家 一起讨论。本篇文章先简单介绍了互联网架构的演变,进而介绍了服务化,最后再介绍微服务,微服务是服务治理的升级也是互联网架构的进一步延伸。互联网架构演变 一体架构在计算机软件发展早期,一般桌面软件都是采用这种架构,不管是界面还是业务处理还是数据处理都放到一...
2018-06-19 20:03:26
3106
转载 Java线程面试题合集(含答案)
来源:Java线程面试题下面是我自己收集整理的Java线程相关的面试题,可以用它来好好准备面试。 参考文档: 《Java核心技术 卷一》 Java线程面试题 Top 50:http://www.importnew.com/12773.html JAVA多线程和并发基础面试问答: http://ifeve.com/java-multi-threading-concurrency-inte...
2018-06-18 14:30:48
59908
9
转载 程序员涨薪必备技能(1-5年必看!!!)
来源:涨薪必备技能(1-5年必看!!!)前言 工作1-5年,当我们向老板提出加薪的时候,或者跳槽去“捡”offer的时候,我们底气够吗?敢不敢不给涨薪就“挥一挥衣袖,不带走一个bug”?是不是提出要求后你的主管、经理立刻同意,为了把你留住。然而,现实往往是…技术不过硬,其他的都免谈。前景 Web应用,最常见的研发语言是Java和PHP。后端服务,最常见的研发语言是Java和C/C++。大数据,...
2018-06-14 16:21:44
4406
转载 java设计模式之装饰者模式
来源:java模式—装饰者模式1、意图 动态地给一个对象添加一些额外的职责。就增加功能来说, Decorator模式相比生成子类更为灵活。该模式以对客 户端透明的方式扩展对象的功能。2、适用环境 (1)在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。(2)处理那些可以撤消的职责。(3)当不能采用生成子类的方法进行扩充时。一种情况是,可能有大量独立的扩展,为支持每一种组合将产生大...
2018-06-13 20:16:08
374
转载 java集合类详解
来源:JAVA集合类汇总一、集合与数组 数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用。集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用。二、层次关系 如图所示:图中,实线边框的是实现类,折线边框的是抽象类,而点线边框的是接口Collection接口是集合类的根接口,Java中没有提供这个接口的直接的实现类。但是却让...
2018-06-11 17:17:49
367
转载 java线程-看这一篇就够了
来源:Java中的多线程你只要看这一篇就够了前言 如果对什么是线程、什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内。基本概念 用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每个角色要给他一个线程吧,否则连实际场景都无法模拟,当然也没法说能用单线程来...
2018-06-08 09:52:19
562
转载 javaIO详解
来源:编程语言的基础——搞定JavaIOJava I/O流是一组有顺序的,有起点和终点的字节集合。是对设备文件间数据传输的总称和抽象。在IO中涉及的设备文件包括文件、控制台、网络链接等,这其中又根据流的方向可以将两端的设备文件分为数据源对象和接收端对象数据源对象:有能力产出数据接收端对象:有能力接收数据而IO流实际上屏蔽了在实际设备中的处理数据的细节,这些处理方式也叫...
2018-06-07 18:56:07
5056
转载 java反射详解
来源:Java基础之—反射(非常重要)反射是框架设计的灵魂使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码)一、反射的概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的...
2018-06-06 13:28:49
918
转载 java注解-最通俗易懂的讲解
来源:秒懂,Java 注解 (Annotation)你可以这样学Annotation 中文译过来就是注解、标释的意思,在 Java 中注解是一个很重要的知识点,但经常还是有点让新手不容易理解。我个人认为,比较糟糕的技术文档主要特征之一就是:用专业名词来介绍专业名词。比如: Java 注解用于为 Java 代码提供元数据。作为元数据,注解不直接影响你的代码执行,但也有一些类型的...
2018-06-05 10:24:36
124450
177
转载 Java异常详解及如何处理
来源:Java异常详解及如何处理简介 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户?或者用C语言风格:用函数返回值作为执行状态?。Java提供了更加优秀的解决办法:异常处理机制。异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢...
2018-06-01 10:39:40
788
转载 最详细的java泛型详解
来源:最详细的java泛型详解对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。本文参考java 泛型详解、Java中的泛型方法、 java泛型详解1. 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。什么是泛型?为什么要使用泛型? 泛型,即“参数化类型”。一提到参数,最熟...
2018-05-31 10:38:07
738
1
转载 常见的缓存穿透,缓存击穿,缓存雪崩解决方案分析
作者:zeb_perfect来源:blog.youkuaiyun.com/zeb_perfect前言 设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可...
2018-05-30 10:15:22
380
转载 枚举7常见种用法
来源:Java 枚举7常见种用法DK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。用法一:常量在JDK1.5 之前,我们定义常量都是: public static fianl…. 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。public enum Color { RED, GREEN,...
2018-05-29 00:40:51
515
转载 Java 11 新功能来了!
关键时刻,第一时间送达!目前 Oracle 已经发布了 Java Development Kit 10,下个版本 JDK 11 也即将发布。本文介绍 Java 11 的新功能。根据Oracle新出台的每6个月发布一次Java SE的节奏,Java 11将于2018年9月发布,迄今为止Oracle已经宣布了好几个新功能。此外,Java 11还将删除一些功能,其中包括删除CORBA和Jav...
2018-05-26 18:44:41
410
转载 Docker入门指南
地址:docker入门指南更换国内镜像源docker store地址默认是在国外,下载速度很慢,自行更换国内docker加速地址。名词解释image: 镜像containers: 容器docker-machine: docker虚拟主机docker store: docker存储云术语Image 和 ContainerImage可以理解为一个系统镜像,Container是Image在运...
2018-05-26 13:06:07
459
转载 分布式之数据库和缓存双写一致性方案解析
来源:分布式之数据库和缓存双写一致性方案解析引言为什么写这篇文章?首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客,对这几种方案进行解析。于是博主战战兢兢,顶着被大家喷的...
2018-05-25 14:15:48
314
转载 JAVA设计模式之单例模式
来源:JAVA设计模式之单例模式概念: java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,...
2018-05-23 20:36:04
293
转载 常见的Redis面试题及分布式集群讲解
作者 :蘑菇先生出处 : http://www.cnblogs.com/mushroom/1. 使用Redis有哪些好处?(1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1) (2) 支持丰富数据类型,支持string,list,set,sorted set,hash (3) 支持事务,操作都是原子性,所谓的原子性就是对数...
2018-05-22 00:20:49
427
转载 程序员如何高效学习?看完这篇你就知道了
作者 :NaYoung来源 :博客园写在前面其实学习是一件很私人的事情,每个人都应该有一套自己的学习方式,而不是照搬照抄别人的。适合别人的不一定适合自己。所以,读这篇分享的时候,请以一种【这点是不是对我有帮助】的心态来阅读,而不是【原来我要这样才能学的好】的心态。如果你觉得某一点对你有用,那就记在心里,如果你觉得不太适合你,那么一笑而过就好。我不是什么大牛,只是一个普通的本科生,...
2018-05-21 15:20:59
1237
转载 10大必备的Intellij插件,大幅提高你的工作效率
作者 :葛俊_0f97来源 : 简书善用Intellij插件可大幅提升我们的效率以下是我用过不错的Intellij插件1. .ignore生成各种ignore文件,一键创建git ignore文件的模板,免得自己去写2. lombok支持lombok的各种注解,从此不用写getter setter这些 可以把注解还原为原本的java代码 非常方便3. p3c阿里巴巴出品的...
2018-05-20 00:27:07
6750
1
转载 数据库事务的四大特性以及事务的隔离级别详解
作者 : fjdingsd 来源 : 博客园本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果...
2018-05-19 00:29:32
266
转载 7大经典的排序算法总结实现
作者 : liuyang0 来源 : 博客园常见排序算法总结与实现本文使用Java实现这几种排序。 以下是对排序算法总体的介绍。 冒泡排序比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越...
2018-05-18 01:28:06
306
转载 资深大牛的吐血建议,你想知道如何学习,怎样进入阿里吗?
作者 : 左潇龙 | 来源 : 博客园引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来。LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容基本上忘得一干二净,所以写这篇文章其实是很有难度的。 但是,最近问LZ的人实在是太多了,为了避免重复回答,给自己省点力气,干脆就在这里统一回...
2018-05-17 03:08:59
862
转载 Servlet基础——快速了解什么是Servlet
来源 | 为知笔记| 作者 | 水之笔记一、什么是servletservlet是在服务器端运行的一个小程序。一个servlet就是一个java类,并且可以通过“请求-响应”编程模型来访问的这个驻留在服务器内存里的servlet程序。二、tomcat容器等级tomcat的容器等级分为四个等级,servlet的容器管理context容器,一个context对应一个web工程。Engine是个引擎容器H...
2018-05-16 10:59:17
559
转载 海量数据处理 - 找出最大的n个数(top K问题)
前言前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了),这个问题还是建立最小堆比较好一些。 先拿10000个数建堆,然后一次添加剩余元素,如果大于堆顶的数(10000中最小的),将这个数替换堆顶,并调整结构使之仍然是一个最小堆,这样,遍历完后,堆中的10000个数就是所需的最大的10000个。建堆...
2018-05-15 15:05:57
5321
转载 2分钟带你理解IOC
来源 | 个人博客| 作者 | zhang1. IoC是什么Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好Ioc呢?理解好Ioc的关键是要明确“谁控制谁,控制什么,为何是反转(有反转就应该有正转了),哪些方面反转了”,那我们来深入分析一下:...
2018-05-14 20:40:01
330
转载 String类的不可变性
来源 | 简书| 作者 | 指尖上的榴莲一.原理(为什么说String类是不可变的)1.什么是不可变对象如果一个对象在创建之后就不能再改变它的状态,那么这个对象是不可变的(Immutable)。不能改变状态的意思是,不能改变对象内的成员变量,包括基本数据类型变量的值不能改变,引用类型的变量不能指向其他的对象,引用类型指向的对象的状态也不能改变。2.final关键字的作用如果要创建一个不可变对象,关...
2018-05-13 21:55:40
1592
1
转载 理解MVC及快速入门
来源 | 个人博客| 作者 | MrSaber说明:传统MVC——>JSPModel2——>Front Controller + Application Controller + Page Controller + Context 三种模式是JavaWeb设计模式的逐渐适配和演进。本文分别讲述了这三种模式,作为了解即可。SpringMVC正是采用了第三种设计模式。MVC说明 MVC是...
2018-05-12 20:29:59
1297
转载 MyBatis快速入门
来源 | 个人博客 | 作者 | 湖畔微风简介简介MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis。MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。...
2018-05-11 17:09:58
291
原创 阿里数据库面试问题合集!献给正在面试的你。
根据从阿里面试的同学总结出来的一些常见的数据库面试题,希望给正在面试的人一些帮助!索引的作用?它的优点缺点是什么?什么样的字段适合建索引?使用索引查询一定能提高查询的性能吗?为什么?mysql的三大引擎是啥?索引底层用什么实现的 在数据库中查询语句速度很慢,如何优化?什么是存储过程?有哪些优缺点?什么是事务?乐观锁和悲观锁是什么?什么是主键?什么是外键?什么是存储过程?用什么来调用?事务的隔离级别...
2018-05-09 10:18:27
12072
转载 高可用Redis服务架构分析与搭建
基于内存的Redis应该是目前各种web开发业务中最为常用的key-value数据库了,我们经常在业务中用其存储用户登陆态(Session存储),加速一些热数据的查询(相比较mysql而言,速度有数量级的提升),做简单的消息队列(LPUSH和BRPOP)、订阅发布(PUB/SUB)系统等等。规模比较大的互联网公司,一般都会有专门的团队,将Redis存储以基础服务的形式提供给各个业务调用。不过任何一...
2018-05-06 16:47:23
200
转载 分布式之延时任务方案解析
引言在开发中,往往会遇到一些关于延时任务的需求。例如生成订单30分钟未支付,则自动取消生成订单60秒后,给用户发短信对上述的任务,我们给一个专业的名字来形容,那就是延时任务。那么这里就会产生一个问题,这个延时任务和定时任务的区别究竟在哪里呢?一共有如下几点区别定时任务有明确的触发时间,延时任务没有定时任务有执行周期,而延时任务在某事件触发后一段时间内执行,没有执行周期定时任务一般执行的是批处理操作...
2018-05-04 00:32:56
280
转载 面试必看!2018年4月份阿里最新的java程序员面试题目
目录 技术一面(23问)技术二面(3大块)性能优化(21点)项目实战(34块)JAVA方向技术考察点(15点)JAVA开发技术面试中可能问到的问题(17问)阿里技术面试1 1.Java IO流的层次结构?2.请说出常用的异常类型?3.SKU的全称是什么,SKU与SPU的区别及关系?4.FileInputStream在使用完以后,不关闭流,想二次使用可以怎么操...
2018-05-04 00:26:26
741
转载 高可用Redis服务架构分析与搭建
基于内存的Redis应该是目前各种web开发业务中最为常用的key-value数据库了,我们经常在业务中用其存储用户登陆态(Session存储),加速一些热数据的查询(相比较mysql而言,速度有数量级的提升),做简单的消息队列(LPUSH和BRPOP)、订阅发布(PUB/SUB)系统等等。规模比较大的互联网公司,一般都会有专门的团队,将Redis存储以基础服务的形式提供给各个业务调用。不过任...
2018-05-04 00:23:53
209
转载 JDK 10 已经来临,你准备好了吗?
虽然感觉 JDK9 发布才仅仅几周的时间,然而,随着新的 OpenJDK 的发布节奏,JDK10 已经到达发布候选里程碑阶段。我看过各种关于 JDK10 新特性的博客,但是它们都倾向于关注通过 JEPS 定义的大方面。这篇博文,我将看看是否可以罗列出 JDK10 中已经发生变化的方方面面(包括新增的和剔除的)。有时候,我会做一些关于 Java SE 的报告会。之前我在“ JDK9 的 55 个新特...
2018-05-02 11:34:31
320
转载 Java 9 新特性概述
Java 9 正式发布于 2017 年 9 月 21 日 。作为 Java8 之后 3 年半才发布的新版本,Java 9 带 来了很多重大的变化。其中最重要的改动是 Java 平台模块系统的引入。除此之外,还有一些新的特性。 本文对 Java9 中包含的新特性做了概括性的介绍,可以帮助你快速了解 Java 9。Java 平台 模块系统Java 平台模块系统,也就是 Project Jigsaw,把...
2018-05-02 11:06:18
325
原创 Tomcat端口8080占用问题
方法11.打开cmd窗口2.输入netstat -ano|findstr 8080 查看哪个进程id占用了8080端口3.输入taskkill -pid 进程id -f (如taskkill -pid 3168 -f)方法2如果大家觉得这篇文章对你有帮助的话,欢迎大家关注我的公众号:java技术学习之道(javajsxxzd),长期分享各种技术文章。...
2018-05-01 17:23:32
278
转载 Java日志框架:logback详解
为什么使用logback记得前几年工作的时候,公司使用的日志框架还是log4j,大约从16年中到现在,不管是我参与的别人已经搭建好的项目还是我自己主导的项目,日志框架基本都换成了logback,总结一下,logback大约有以下的一些优点:内核重写、测试充分、初始化内存加载更小,这一切让logback性能和log4j相比有诸多倍的提升logback非常自然地直接实现了slf4j,这个严格来说算不上...
2018-04-30 19:49:49
1170
Maven权威指南中文版
2018-04-16
SPRING技术内幕:深入解析SPRING架构与设计原理
2018-04-16
鸟哥的Linux私房菜基础学习篇(第三版)
2018-04-16
How Linux Works, 2nd Edition
2018-04-15
Basic Security Testing with Kali Linux (2014)
2018-04-15
Fiddler调试权威指南 (美)劳伦斯著(2015-9-17 22-41-13 5693)
2018-04-15
GitHub入门与实践
2018-04-15
Network Analysis Using Wireshark Cookbook - Yoram Orzach
2018-04-15
Nmap Network Scanning
2018-04-15
Web安全深度剖析
2018-04-15
Wireshark数据包分析实战
2018-04-15
java的json转换需要的jar包
2018-04-14
Git-2.15.1.2-64-bit
2018-04-14
Java Performance- The Definitive Guide
2018-04-14
lucene in action_中文版(lucene实战)
2018-04-14
Java服务器高级编程
2018-04-14
Redis实战 中文完整版
2018-04-14
Shiro教程(史上最详细的教程)
2018-04-14
阿里巴巴Java开发手册终极版v1.3.0
2018-04-14
HeadFirst设计模式(中文版)
2018-04-14
Java性能权威指南
2018-04-14
Java并发编程实战
2018-04-14
深入理解Java虚拟机(第二版-带目录)
2018-04-14
Python编程导论(第2版)
2018-05-20
编译原理(龙书第2版)
2018-05-19
算法导论第三版
2018-05-15
网上商城项目-大型实战项目
2018-04-22
Oracle11g从入门到精通. oracle基础教程1_7973873
2018-04-15
oracle学习手册
2018-04-15
[啊哈!算法].啊哈磊.扫描版
2018-04-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人