
Netty源码分析
文章平均质量分 75
大老二在不在
每天长期更新 以后长期技术干货 求关注
展开
-
Redis的n种妙用,不仅仅是缓存
redis是键值对的数据库,常用的五种数据类型为字符串类型(string),散列类型(hash),列表类型(list),集合类型(set),有序集合类型(zset)Redis用作缓存,主要两个用途:高性能,高并发,因为内存天然支持高并发应用场景分布式锁(string)setnx key value,当key不存在时,将 key 的值设为 value ,返回1。若给定的 key 已经...原创 2019-01-10 15:12:53 · 371 阅读 · 0 评论 -
Java高级工程师面试总结
面试技巧1、背熟你的简历原因:面试的第一个问题,一般都是让你简单介绍下你自己,或者介绍一下你最近的项目,而一个面试者,如果连自己的简历都无法熟知,对里面提到的项目、技术都无法描述清楚的话,我想没有哪家公司会接受这样的,哪怕你是超级人才,你自我表述不行,估计也会为此头疼,所以,切记:一定要背好自己的简历,不要求你能全部记下,至少要熟记你最近所待过的两家公司,这两家公司里面你做过的项目,你负责...转载 2018-06-28 15:05:06 · 348 阅读 · 0 评论 -
3 年 Java 程序员应该具备的技能!
一名3年工作经验的Java程序员应该具备的技能,这可能是Java程序员们比较关心的内容。我这里要说明一下,以下列举的内容不是都要会的东西—-但是如果你掌握得越多,最终能得到的评价、拿到的薪水势必也越高。1、基本语法这包括static、final、transient等关键字的作用,foreach循环的原理等等。今天面试我问你static关键字有哪些作 用,如果你答出static修饰变量、修饰...原创 2018-09-28 19:30:58 · 510 阅读 · 0 评论 -
为什么Java程序员的薪资一直居高不下?
为什么程序员工资那么高?为什么20多年来,Java程序员数量在日益增长的情况下,其薪资不降反升?众所周知,随着科技发展,国家政策的支持,IT行业可谓是目前最火、也是众多行业中薪资待遇最好的行业,其相关工作人员的基本薪资也使得许多传统行业望尘莫及。我特意去各招聘网站查了近半年软件开发工程师的工资,看完后我的心情是这样的...那么,程序员的工资到底有多高呢?以下列举最为核心的两...原创 2018-09-19 16:50:34 · 1615 阅读 · 0 评论 -
Java异常处理的9个最佳实践
无论你是新手还是资深程序员,复习下异常处理的实践总是一件好事,因为这能确保你与你的团队在遇到问题时能够处理得了它。在 Java 中处理异常并不是一件易事。新手觉得处理异常难以理解,甚至是资深开发者也会花上好几个小时来讨论是应该抛出抛异常还是处理异常。这就是为何大多数开发团队都拥有一套自己的异常处理规范。如果你初进团队,你也许会发现这些规范和你曾使用的规范大相径庭。尽管如此,这里还是有一...原创 2018-09-13 21:55:53 · 244 阅读 · 0 评论 -
Spring MVC中的二三事
HandlerMapping和HandlerAdapter这个两个组件应该算是spring mvc中最重要的几个组件之一了,当一个请求到达DispatcherSerlvet后,spring mvc就全靠这各两个组件定位并调用我们定义的Controller函数。是的,他们的功能就分别对应了“定位”和“调用”。HandlerMapping先看看该接口的申明: 1 2 ...原创 2018-09-07 16:18:59 · 185 阅读 · 0 评论 -
对Java意义重大的7个性能指标
本文中,小编搜集了7个最有影响的衡量标注,让你可以不依赖日志文件来了解应用程序。现在,让我们看看这些性能指标,并了解如何查看并收集它们:1.响应时间和吞吐量根据应用程序的响应时间可以知道程序完成传输数据所用的时间。也可以从HTTP请求级别,或者成为数据库级别来看。对那些缓慢的查询你需要做一些优化来缩短时间。吞吐量是另一个角度衡量传输数据的指标,是指单位时间内系统处理的客户请求的数量。我...原创 2018-09-06 22:03:38 · 290 阅读 · 0 评论 -
大话程序猿眼里的高并发(上)
高并发是指在同一个时间点,有很多用户同时的访问URL地址,比如:淘宝的双11,双12,就会产生高并发,如贴吧的爆吧,就是恶意的高并发请求,也就是DDOS攻击,再屌丝点的说法就像玩撸啊撸被ADC暴击了一样,那伤害你懂得(如果你看懂了,这个说法说明是正在奔向人生巅峰的屌丝。高并发会来带的后果服务端: 导致站点服务器/DB服务器资源被占满崩溃,数据的存储和更新结果和理想的设计是不一样的,比如:...原创 2018-09-05 20:58:39 · 304 阅读 · 0 评论 -
架构师进阶之路精选之Redis Lua脚本原理
2.6版本之后支持嵌入Lua脚本,客户端使用Lua脚本,直接在服务器端原子的执行多条命令Lua脚本执行过程创建并修改Lua环境1 创建基础Lua环境 2 载入函数库 3 创建全局表格Lua 4 替换随机函数 5 创建排序辅助函数 6 创建redis.pcall函数 7 全局环境保护 8 修改后的Lua环境保存到服务器状态的Lua属性,等待脚本执行Redis中带有不确...原创 2018-09-02 17:53:08 · 351 阅读 · 0 评论 -
Java面试:投行的15个多线程和并发面试题附送回答
多线程和并发问题已成为各种 Java 面试中必不可少的一部分。如果你准备参加投行的 Java 开发岗位面试,比如巴克莱银行(Barclays)、花旗银行(Citibank)、摩根史坦利投资公司(Morgan Stanley),你会遇到很多有关多线程的面试题。多线程和并发是投行面试的热门知识点,尤其是在面试有关电子交易开发工作时,他们喜欢用棘手的 Java 线程面试题轰炸面试者。他们希望确保面试者对...原创 2018-09-02 14:49:23 · 318 阅读 · 0 评论 -
分布式锁实现大型连续剧之(一):Redis
前言:单机环境下我们可以通过JAVA的Synchronized和Lock来实现进程内部的锁,但是随着分布式应用和集群环境的出现,系统资源的竞争从单进程多线程的竞争变成了多进程的竞争,这时候就需要分布式锁来保证。实现分布式锁现在主流的方式大致有以下三种基于数据库的索引和行锁 基于Redis的单线程原子操作:setNX 基于Zookeeper的临时有序节点这篇文章我们用Redis来实...原创 2018-08-24 17:03:37 · 1671 阅读 · 0 评论 -
阿里P7级别架构师教你HashMap的工作原理
HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题,甚至会要求你实现HashMap来考察你的编程能力。ConcurrentHashMap和其它同步集合的引入...原创 2018-08-26 20:50:31 · 961 阅读 · 0 评论 -
Java 已老,Kotlin 或将取而代之?
把你们的想法在在下面评论席上发表出来 小编会一个一个看的Java已经成为历史。它无法发展成现代语言,同时保证向后兼容性。但它为我们带来了最好的JVM生态系统,并引导了许多优秀语言的诞生,如Groovy、Scala、Clojure、Kotlin等。▌欢迎年纪最小的Kotlin!Kotlin诞生于2011年,但在去年Google宣布Kotlin成为安卓的官方开发语言之后迅速走红。Kot...原创 2018-06-26 17:07:14 · 337 阅读 · 0 评论 -
BATJ常见面试题汇总之一 让你瞬间升华起来
1.面向对象和面向过程的区别面向过程优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。缺点:没有面向对象易维护、易复用、易扩展面向对象优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护缺点:性能比面向过程低2.Jav...原创 2018-06-24 20:58:58 · 979 阅读 · 0 评论 -
在北京三年java开发经验月薪16k,如何在四年经验时要到20k?
3年JAVA程序员的自评 半道出家的程序员,从不伪造简历,起点低,三年时才16k月薪*14在北京,认为混的比较差。当然补充一句,不要拿应届生的所谓待遇来比,不是你比不起,而是这么比没意义,应届生接触了四年计算机相关领域,你到现在接触这个行业也不到四年,应届生还有应届优势,你没有,所以这种半道出家的和应届生比毫无意义。举一个例子吧,那个培训班30人,上到框架那里就剩10个了,剩下20个与...原创 2018-06-23 21:10:01 · 1506 阅读 · 0 评论 -
阿里优酷面试经历——学无止境
最近几周与阿里的面试官聊了聊,趁着我还有记忆先写下来。本人近5年工作的JAVA程序员,技术不精。大伙不必太过吐槽。哈哈。我曾两次时间投过简历。》2013年第一次是在2013年的时候,当时工作3年,第一轮面试还是比较容易的。就是讲项目的技术点是过了。二轮的话问一些基础然后可能就忘记了。失败告终。》2016年第一轮的时候问的比较细,像java Object有哪些方法,回答:...原创 2018-03-29 17:04:43 · 902 阅读 · 0 评论 -
深度学习-程序员的学习路径
程序员要开始学习深度学习,该如何入手? 看网上搜集的各种庞杂的DL学习资料列表,你可能会被吓死。但实际上大部分学习资料都包含了相当多重复的内容,下面是我个人总结的一些学习经验,希望能去芜存菁,帮助程序员快速进入深度学习的圣殿。 数学基础。如果你去读深度学习的论文,会发现数学对于DL非常重要,线性代数、概率论、甚至微积分都有用武之地。这些知识都还给学校了怎么办?难道要把所有这...原创 2018-04-04 17:04:01 · 507 阅读 · 0 评论 -
2018年一线互联网公司Java高级面试题总结
1、hashcode相等两个类一定相等吗?equals呢?相反呢?2、介绍一下集合框架?3、hashmap hastable 底层实现什么区别?hashtable和concurrenthashtable呢?4、hashmap和treemap什么区别?低层数据结构是什么?5、线程池用过吗都有什么参数?底层如何实现的?6、sychnized和Lock什么区别?sychnize 什么...原创 2018-04-04 15:05:27 · 544 阅读 · 0 评论 -
Java线程有哪些不太为人所知的技巧与用法?
萝卜白菜各有所爱。像我就喜欢Java。学无止境,这也是我喜欢它的一个原因。日常工作中你所用到的工具,通常都有些你从来没有了解过的东西,比方说某个方法或者是一些有趣的用法。比如说线程。没错,就是线程。或者确切说是Thread这个类。当我们在构建高可扩展性系统的时候,通常会面临各种各样的并发编程的问题,不过我们现在所要讲的可能会略有不同。从本文中你将会看到线程提供的一些不太常用的方法及技术。不管你是初...原创 2018-04-03 18:06:20 · 211 阅读 · 0 评论 -
程序员,什么是好的代码?
“什么狗屁代码,老子看了几个小时也没明白!”“这么烂的代码,到底是谁写的!”Bob大叔说:“衡量代码质量的唯一标准是阅读该代码时说脏话的次数”, 真是很有趣的说法。什么是好的代码? 这个问题可能是仁者见仁,智者见智。 我先说说我的看法,欢迎大家留言讨论。 我个人觉得好代码分为两个层面, 一个是道,一个术。1 好代码之“道”“道”这里指的设计,是对问题本质的洞察,是良好的抽象。对一个好的系统设...原创 2018-04-09 17:12:33 · 434 阅读 · 0 评论 -
《深入理解java虚拟机》学习笔记系列——java内存区域划分
Java 运行时数据区域的学习,是学习 jvm 以及 GC 机制的基础,也是深入理解 java 对象创建及运行过程的前提。废话不多说,直接进入正题:详细介绍程序计数器概念程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,可以理解为是当前线程的行号指示器。字节码解释器在工作时,会通过改变这个计数器的值来取下一条语句指令。作用由于 Java 虚拟机的多线程是通过线程轮流切...原创 2018-04-08 14:34:47 · 164 阅读 · 0 评论 -
我教你一分钟如何撬开阿里爸爸的大门(想进阿里的都看过来)
前些日子我发了一篇 “如何让阿里巴巴为你转身?(内附面试真题)”类似于今天的文章。希望今天这篇文章能给帮助大家。希望大家能够看了这篇文章后可以顺利进入阿里。阿里味儿究竟是什么味儿?怎样才能闯进阿里?如何才能准确撩到面试官的心?这可能是迄今为止最全面的阿里面试技巧!(对,没有之一)然后给你们沉默三秒,在继续往后看。1:面试前的准备简历的准备如何让HR一眼就识到你?核心关键词:简洁...原创 2018-03-21 14:45:16 · 1257 阅读 · 0 评论 -
高级程序员是这样的
高级定义“高级程序员”的难题我是对“高级程序员”这个称号非常怀疑的,尤其因为当初在我有了9个月的正规编程经验,他们就为了给我涨工资而给了我这个称号之后。事实上,如果你找来两个有经验的程序员,让他们分别描述一下他们心中的“高级”是个什么样子,我敢保证他们的答案会大相径庭。“怎样才能叫高级程高序员”这个问题其实非常依赖于语境,而且弹性空间非常大,以致于在我们这个行业里各个公司都可以...原创 2018-03-30 14:05:27 · 331 阅读 · 0 评论 -
大师带你开悟高薪程序员之路——《编程之道》番外篇
编程之道》出自美国一位资深的程序设计师 Geoffrey James 之手。本文章是为番外篇,哈哈哈,有点儿无节操。1.1程序员见禅师:我学了 hello world 和水仙花数,想自己开发个操作系统,希望大师指点。禅师笑而不语,抓来一只鸡,在鸡腿上缠根线,他一拉线,鸡立即跌倒,鸡挣扎起来继续走,禅师又一拉,鸡又跌倒,如此反复八次之多。程序员若有所悟:“大师您是让百折不挠,...原创 2018-03-30 14:02:35 · 660 阅读 · 0 评论 -
自学真的是java开发的正确打开方式么?
Java在没有任何基础的情况下自学要多久呢,是不是很难,许多IT爱好者想通过自学掌握这门语言,这显然是不太现实的,Java的奥妙之深,之复杂是很难衡量的,而无论是网络上的教学视频还是书本里的知识都有一个循序渐进的过程,学会一步后才能了解下一步,如果问Java在没有任何基础的情况下自学多久能掌握,答案是很难学好,有关这个问题,动宝儿请教了Java培训机构的资深讲师。他给出了自学学不好Java的答...原创 2018-03-30 14:01:15 · 1152 阅读 · 0 评论 -
Java 10 新特性全览
在 Java 9 之后,Java 将采用基于时间发布的策略,每 6 个月一个版本。目前,Java 10 的新特性都已经确定。具体来看看。JEP 286: Local-Variable Type Inference局部变量的类型推导。很多人都会吐槽 Java 代码写起来太过繁琐,特别是涉及泛型的时候。就像 C++,也基于 auto关键字引入了类型推导功能。Java 也计划引入...原创 2018-03-22 16:39:37 · 377 阅读 · 0 评论 -
Java程序员跳槽应该学习哪些技术?
工作1-5年,当我们向老板提出加薪的时候,或者跳槽去“捡”offer的时候,我们底气够吗?敢不敢不给涨薪就“挥一挥衣袖,不带走一个bug”?是不是提出要求后你的主管、经理立刻同意,为了把你留住。然而,现实往往是...技术不过硬,其他的都免谈。小编给大家罗列一下近期最常用,最火的技术,大家检查一下你是否可以硬朗起来。阿里巴巴Dubbo+Zookeeper注册中心、阿里巴巴MyCa...原创 2018-04-19 12:33:34 · 496 阅读 · 0 评论 -
Java虚拟机系列之Java内存结构简介
文我们将讲解Java虚拟机中各个区域以及各个区域的作用。一.程序计数器什么是程序计数器,有什么作用?程序技术器是一块比较小的内存区域,主要当做是线程中所执行的字节码的行号指示器,字节码解释器工作时就是通过改变这个计数器的值来选取下一个执行的字节码命令,分支、循环、跳转等基础功能都是依赖这个程序计数器来完成。有什么特点?Java虚拟机中的多线程是通过线程轮流切换分配处理器执行时间...原创 2018-06-15 14:21:31 · 189 阅读 · 0 评论 -
精选11道Java技术面试题并有答案(包含部分阿里和华为的面试题)
1. JVM的类加载机制是什么?有哪些实现方式?类加载机制:类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法去内,然后在堆区创建一个java.lang.Class对象,用来封装在方法区内的数据结构。类的加载最终是在堆区内的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。类加载有三种方式:1...原创 2018-06-22 17:16:37 · 224 阅读 · 0 评论 -
Java中如何实现线程的超时中断
背景之前在实现熔断降级组件时,需要实现一个接口的超时中断,意思是,业务在使用熔断降级功能时,在平台上设置了一个超时时间,如果在请求进入熔断器开始计时,并且接口在超时时间内没有响应,则需要提早中断该请求并返回。比如正常下游接口的超时时间为800ms,但是因为自身业务的特殊需求,最多只能等200ms,如果200ms之内没有数据返回,则返回降级数据。这里处理请求的线程可以看成是tomcat线程池...原创 2018-06-22 15:57:20 · 4300 阅读 · 0 评论 -
工作8年的Java程序员告诉你关于面试的六个知识点
正在为Java程序员岗位而做准备?只要准备好六部分的知识点,包你面试无压力! 0.基础部分无论是哪一种编程语言,基础永远是你不能忽视的部分。以下是比较常出现的十个点,当然最好是全都能熟悉。使用length属性获取数组长度,public、private、protected、friendly区别最有效率的方法算2*8等于几两个对象值相同,x.equal(y)==tru...原创 2018-06-13 15:22:11 · 2335 阅读 · 2 评论 -
书单丨5本Java后端技术书指引你快速进阶
一名Java开发工程师不仅要对Java语言及特性有深层次的理解而且需要掌握与Java相关的框架、生态及后端开发知识本文涉及多种后端开发需要掌握的技能对于帮助提高开发能力非常有帮助NO.1《Java工程师修炼之道》杭建 著Java 开发一直是当前互联网领域最火热的开发技能之一,Java 工程师也一直是需求量非常大的开发职位。本书主要针对一名合格的Java 工程师的必备技能做了大纲性的总结和阐述。内容...原创 2018-06-05 13:52:58 · 304 阅读 · 0 评论 -
少走弯路,给Java 1~5 年程序员的建议
今天LZ是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍。这一部分的内容,同样适用于一些希望转行到Java的同学。在大家看之前,LZ要先声明两点。1、由于LZ本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线,非Java Web和Java后端开发的同学请适当参考其学习思想即可,切勿照搬。2、下面的推荐内容,目的是...原创 2018-05-29 15:09:51 · 1327 阅读 · 1 评论 -
一个程序员眼中的区块链技术
我为什么要写这篇文章?在了解区块链相关信息时(例如维基百科上的内容),我发现这些内容非常零碎和不连贯。要把这些零碎的信息整合在一起,形成一个完整的视图需要花费大量的时间。不过现在,我想我已经知道在引入区块链时要使用哪些东西,以及应该按照怎样的顺序来了解它们,以便让开发人员能够在 1 到 1.5 小时内看到完整的视图。本文内容经过一定程度的简化,如果有人对更复杂的细节感兴趣,可以继续深入探讨。非...原创 2018-05-29 14:19:29 · 533 阅读 · 0 评论 -
Java程序员从阿里、百度面试回来,这些面试题你们会吗?
百度 百度百度面了两次,分别是百度糯米和金融事业部,百度目前只有这两个部门的招聘岗位和我比较匹配。面试都在西二旗的百度新总部,园区还在施工,离地铁也比较远,需要打车过去。面试官自带电脑,整个面试过程都在记录,首先详细询问了最近一份工作项目的架构和工作内容,面试主要围绕工作中用到的组件和中间件技术来扩展,考察掌握程度。MySQL InnoDB存储的文件结构索引树是如何维...原创 2018-06-11 21:31:33 · 580 阅读 · 0 评论 -
同样都是程序员,为什么别人的工资那么高?
中国互联网正处于一个新的飞速发展时期,使得其对IT互联网行业人才的需求量明显大于其他行业,不断进入的新兴企业以及亟待转型的传统互联网企业,都急需新鲜血液为其注入活力,因此互联网行业面临巨大的供给缺口,这不是一朝一夕可以弥补的。这些直接影响了现在市场对程序员的需求,程序员的就业前景变得更加地开阔。程序员的薪水自然也水涨船高。但是小课发现一个很有趣的现象,同样都是程序员,为什么工资有高有低呢?如何提升...原创 2018-05-22 17:09:59 · 2698 阅读 · 0 评论 -
七大「陷阱」——程序员切记尽量避免出现的
让我们面对真实。有些人因为你的父母让你(如果你在美国以外的地方长大)进入软件领域,或者因为你认为你可以用这种方式赚到很多钱。你不是年轻的时候进入了电脑领域,而且你并不喜欢软件开发。你总是会变得平庸。因为我们的行业不知道如何评估技能,人才或成就,你会赚钱,但这篇文章并不适合你。如果你因为拆开电子产品看它们如何工作而受到惩罚。如果你每天晚上都偷偷地上网学习如何制作电子游戏。如果你花了宝贵的业余时间学习...原创 2018-05-15 16:07:27 · 553 阅读 · 0 评论 -
Java 编写的轻量级高性能手游服务端框架
mmorpg,是一个用java编写的轻量级高性能手游服务端框架。项目提供各种支持快速二次开发的组件,以及对生产环境的服务进行管理的工具。同时,为了使用户能够快速上手,项目提供了若干常用业务功能作为演示。项目特点支持socket/websocket接入,兼容手游/页游服务端架构有独立http后台网站,为游戏运维/运营提供支持框架提供多种组件,可以直接二次开发业务逻辑提供热更机制以及jmx接口,方便对...原创 2018-05-15 15:41:12 · 3424 阅读 · 0 评论 -
程序员如何学习新知识
想必大家都不是张无忌,人家三十年才可以练成的乾坤大挪移,张无忌大侠两个时辰就可以搞定,作为一个普通的程序员,经常遇到很多新技术和新知识,it界就是这样,日新月异,那么我们如何学习一门技术和新知识呢?下面是我粗浅的几点建议第一:精通一两门语言大家都听说过术业有专攻这个词,作为程序员一定要一个立身安命的技术,这个技术可以让你不失业,至少也能混口饭吃的就是需要精通一两门语言,对于你选择的这两...原创 2018-05-09 17:36:15 · 2082 阅读 · 0 评论 -
从内到外的实现JVM
在社会化分工、软件行业细分专业化的趋势下,会真的参与到底层系统实现的人肯定是越来越少(比例上说)。真的会参与到JVM实现的人肯定是少数。但如果您对JVM是如何实现的有兴趣、充满好奇,却苦于没有足够系统的知识去深入,那么可以参考RednaxelaFX整理的书单。本豆列的脉络是:1. JVM与Java语言规范要了解JVM是如何实现的,首先必须要知道JVM到底是什么、不是什么,表面上应该...原创 2018-03-22 15:10:05 · 1392 阅读 · 0 评论