摘要: 每个编程语言都存在变量类型和类型之间的转换问题,一般很多书籍都提供了类型之间怎样进行转换的知识,但是很少介绍这些类型转换的背后原理。有人会问,我只要知道怎样进行转换这些类型就可以了,有必要了解这些知识么?我的觉得还是很有必要了解,只有了解了这些类型转换的原理,我们在编程时才能避免一些坑。 阅读全文
posted @ 2017-03-14 19:51 along-JL 阅读(1152) 评论(0) 推荐(0) 编辑
摘要: 生活中总是存在着一些依赖于产品系列的问题,不同的系列中的产品可能相互不兼容,在使用时经常需要使用同一系列产品来完成工作。例如:单反摄像机的品牌有多种,如佳能、尼康等。单反摄像机配件是玩摄影的一个很大的开支,为了使拍出的照片更加漂亮,除了购买机身外还需要购买一些配件,如镜头、支架等。而不同品牌的这些配件是不相兼容,因此买了佳能的单反相机不能使用尼康的镜头。所以,一般购买某个品牌的单反后,就会购买其相应的配件。 阅读全文
posted @ 2017-02-25 21:10 along-JL 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 排序算法已经是面试中被问烂的题目了,可以说经常面试都会被问到排序算法。一般面试官的问题比较宽泛,比如:"说说排序算法?"。 抛出这样的一个问题有的人可能就直接回答了排序算法有哪些,然后没有深入分析。这种方式并不可取,原因如下: 1. 直接说出8个面试题,这样导致这道题的面试时间比较短,面试官就有机会问更多的问题,以下上升为压力面试。狂轰乱炸的题目如果基础不是特别扎实会死的比较惨。 2. 给面试官的感觉是对排序算法的理解不是特别深刻。个人觉得如果问到排序算法的题可以从以下排序算法的几个特点进行:思想,时间复杂度(最坏、最好、平均), 空间复杂度,稳定性。每个算法题从这些方面入手可以使得回答很丰满,让面试官觉得自己对排序算法了解的比较深刻。另一方面,这样回答下来估计需要20、30分钟,可以拖延时间减少面试官问的更多问题。 阅读全文
posted @ 2016-08-04 09:35 along-JL 阅读(3849) 评论(1) 推荐(11) 编辑
摘要: 不可变类是实例创建后就不可以改变成员遍历的值。这种特性使得不可变类提供了线程安全的特性但同时也带来了对象创建的开销,每更改一个属性都是重新创建一个新的对象。JDK内部也提供了很多不可变类如Integer、Double、String等。String的不可变特性主要为了满足常量池、线程安全、类加载的需求。合理使用不可变类可以带来极大的好处。 阅读全文
posted @ 2016-07-30 19:30 along-JL 阅读(35178) 评论(5) 推荐(11) 编辑
摘要: 作为一名IT人士,技术在不断更新变化,更应该具备良好的学习能力以应对不断变化的挑战.最近看了很多关于如何高效学习的文章和书籍,想通过学习别人的学习方法来改善自身的学习能力.通过看相关书籍和文章,发现这些内容在很多地方都比较相似,于是今天对这段时间看到的学习方法做一个简单的总结. 阅读全文
posted @ 2016-01-31 19:34 along-JL 阅读(1552) 评论(1) 推荐(3) 编辑
摘要: ThreadLocal是线程局部变量,其中保存了特定于该线程的值.每个线程都拥有一份独立的副本值,即每个线程修改变量值不影响其他线程该变量的副本值.这些特定于线程的值保存在Thread对象中,当线程终止后,这些值会作为垃圾回收. 如果没有看源码可能会认为ThreadLocal内部的实现方式应该是采用Map容器,保存一个的映射关系.然而JDK内部并不是这么实现的,而是在Thread类中加入了一个散列表(ThreadLocalMap是ThreadLocal的静态内部类)来维护当前线程的所有局部变量值(即当前线程中的所有ThreadLocal变量),通过散列表数据结构可以快速地执行get和set操作. 阅读全文
posted @ 2016-01-06 20:31 along-JL 阅读(603) 评论(0) 推荐(1) 编辑
摘要: 传统页面加载技术采用了顺序执行的方式处理用户请求和渲染页面,使得页面加载速度受到影响.BigPipe是facebook提出的一个浏览器和服务端并行处理的高性能页面加载技术,提高页面加载速度.本文主要介绍BigPipe的原理,及在基于servlet下编写了BigPipe的java实现. 阅读全文
posted @ 2015-11-14 19:42 along-JL 阅读(8041) 评论(1) 推荐(2) 编辑
摘要: 问题描述: 给出一个未排序队列nums,如[10, 9, 2, 5, 3, 7, 101, 18]。找出其中最长的增长序列,但不是连续增长序列,如[2, 3, 7, 101]就是对应的最长增长序列LIS,因为序列不唯一,所以要求返回的是长度,如4.一.动态规划 O(n^2): 比较容易想到的就是... 阅读全文
posted @ 2015-11-04 17:11 along-JL 阅读(387) 评论(0) 推荐(0) 编辑
摘要: spring入门学习的笔记整理,主要包括spring概念,容器和aop的入门知识点笔记的整理. 阅读全文
posted @ 2015-10-29 19:59 along-JL 阅读(3052) 评论(2) 推荐(1) 编辑
摘要: 本文主要是对spring中的几个远程调度模型做一个知识梳理.spring所支持的RPC框架可以分为两类,同步调用和异步调用.同步调用如:RMI,Hessian,Burlap,Http Invoker,JAX-WS. RMI采用java序列化,但很难穿过防火墙.Hessian,Burlap都是基于http协议,能够很好的穿过防火墙.但使用了私有的对象序列化机制,Hessian采用二进制传送数据,而Burlap采用xml,所以Burlap能支持很多语言如python,java等.Http Invoker 是sping基于HTTP和java序列化协议的远程调用框架,只能用于java程序的通行.Web service(JAX-WS)是连接异构系统或异构语言的首选协议,它使用SOAP形式通讯,可以用于任何语言,目前的许多开发工具对其的支持也很好.   同步通信有一定的局限性.所以出现了异步通信的RPC框架,如lingo和基于sping JMS的RPC框架. 阅读全文
posted @ 2015-10-28 14:31 along-JL 阅读(2603) 评论(0) 推荐(1) 编辑