了解Java的垃圾回收(GC)原理能给我们带来什么好处?对于软件工程师来说,满足技术好奇心可算是一个,但重要的是理解GC能帮忙我们更好的编写Java应用程序。 上面是我个人的主观的看法,但我相信熟练掌握GC是成为优秀Java程序员的必备技能。如果你对GC执行过程...
编程语言
简介 StringBuilder 与 StringBuffer 是两个常用的操作字符串的类。大家都知道, StringBuilder 是线程不安全的,而 StringBuffer 是线程不安全的。前者是JDK1.5加入的,后者在JDK1.0就有了。下面分析一下它们的内部实现。 继承关系 public final class Strin...
我们将REST API编码成JSON格式,然后将它解码到POJO。Jackson的org.codehaus.jackson.map.ObjectMapper“只能”开箱即用,并且在大多数情况下我们并不能做任何其他事情。但有时我们确实需要一个定制的反序列化器以满足我们的定制需求,所以本教程将指导大家如...
Topcoat同样是一款简洁的Web表单构建应用,和Semantic UI、BootMetro等CSS框架不同的是,Topcoat主要用于构建美化的Web表单,包括提交按钮、输入框、单选框/复选框、滑动杆、搜索框等表单元素。 Topcoat的特点 小巧、简单、易用 专注表单元素设计,每一个表...
肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的。 定义1:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义...
开发人员在学习JavaScript,或其他任何编码技能的时候,往往是因为这些拦路虎而裹足不前: 有些概念可能会造成混淆,尤其当你是从其他语言转过来的时候。 找不到时间(有时是动力)学习。 很容易忘记已经理解了的东西。 工具多又在不断变化,所以不知道从哪...
Vis.js是一款基于JavaScript的可视化图表库,Vis.js不像其他的图表库那样仅仅支持几种常用的数据图表,比如线形图、柱状图、饼图等,Vis.js支持上百种不同类型的可视化图表类型,比如时间线图、网络图、2D图表、3D图表,每一种类型的图表下又包含几十种不同展...
非常炫的图片展示幻灯片效果,基于js的,所有图片立体环绕展示,非常清晰。...
Node.js内置了http模块,因此使用node.js搭建一个http服务非常简单,先来一个http的"Hello world!",创建http.js文件。...
日志记录是在软件开发过程中常常需要考虑的关键因素。 当产品运行出错时,日志文件通常是我们进行错误分析的首要选择。 而且,在很多情况下,它们是我们手上唯一可以用来查明发生状况和问题根本原因的信息。 可见,正确记录需要的信息是极其重要的。 以下...
想要实现人民币大写,在发票等场景中使用?? 1234.56显示为:壹仟贰佰叁拾肆元伍角陆分,那就往下看看吧! 本程序可以实现 0 到 9999 9999 9999.994 以内的人民币大写转换,精确到分 经典测试数据:0 希望转换出来的结果为: 零元零角零分 1234 希望转换...
windows_98.css是一个简单的CSS脚本,它可以实现Windows 98主题风格的对话框和下拉菜单,与Windows 98主题的仿真度非常高。如果在现代的网页上出现Windows 98的风格,是不是回给人一种怀念的感觉。 演示地址:http://static.itjs.cn/demo/201507/windows-98-...
定义:使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。 类型:行为类模式 类图: 首先来看一段代码: public void test(int i, Request request){ if(i...
欢迎阅读第227期”The Java(tm) Specialists’ Newsletter”。距我上一篇非技术文章已经有些时日。但一些程序员朋友们一直在向我征求职业生涯的建议,现在我觉得是时候再写一篇了。顺带提及,如果你有心思去看其他的东西——我已经开始在 Heinz’s Worst Reci...
jQuery UI Bootstrap是一个将jQuery UI集成到Bootstrap上的CSS框架,jQuery UI Bootstrap不仅可以利用jQuery UI强大的控件库,同时还可以享受Bootstrap那种清新自然的主题风格,所以越来越多的前端开发者都在使用jQuery UI Bootstrap。 jQuery UI Bootstrap的...
Node.js提供了一个简单的模块系统,可以让node.js的文件可以相互调用。模块是node.js应用程序的基本组成部分,文件与模块一一对应。也就是说一个文件就是一个模块,这些文件可以是javascript、json或者编译过的c/c++文件。...
1.Web MVC基础 MVC的本质是表现层模式,我们以视图模型为中心,将视图和控制器分离出来。就如同分层模式一样,我们以业务逻辑为中心,把表现层和数据访问层代码分离出来是一样的方法。框架只能在技术层面上给我们帮助,无法在思考和过程上帮助我们,而我们很...
定义:定义一组算法,将每个算法都封装起来,并且使他们之间可以互换。 类型:行为类模式 类图: 策略模式是对算法的封装,把一系列的算法分别封装到对应的类中,并且这些类实现相同的接口,相互之间可以替换。在前面说过的行为类模式中,有一种模式也是关...
经典MVC 在1979年,经典MVC模式被提出。 在当时,人们一直试图将纯粹描述思维中的对象与跟计算机环境打交道的代码隔离开来,而Trygve Reenskaug在跟一些人的讨论中,逐渐剥离出一系列的概念,最初是Thing、Model、View、Editor。后来经过讨论定为Model、View...
我于2000年创建“费城地区Java用户群”并领导其15年后,决定辞去职位,将领导职务传递下去。是时候交接了。遥想开发人员第一次聚会,25名Java开发者聚在一家不知名的小互联网公司,吃着披萨,听关于XML和JAXP的展示。自那以后,开发人员举行了大约100场活动(...
CSS padding 属性定义元素边框与元素内容之间的空白区域。CSS padding 属性定义元素的内边距。padding 属性接受长度值或百分比值,但不允许使用负值。...
在 HTML 中,我们使用表格来创建文本周围的边框,但是通过使用 CSS 边框属性,我们可以创建出效果出色的边框,并且可以应用于任何元素。...
定义:将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。 类型:行为类模式 类图:命令模式的结构 顾名思义,命令模式就是对命令的封装,首先来看一下命令模式类图中的基本结...
CSS margin外边距合并(叠加)是一个相当简单的概念。但是,在实践中对网页进行布局时,它会造成许多混淆。...
CSS 定位 (Positioning) 属性允许你对元素进行定位, 为定位和浮动提供了一些属性,利用这些属性,可以建立列式布局,将布局的一部分与另一部分重叠,还可以完成多年来通常需要使用多个表格才能完成的任务。...