编程语言

本人用过Servlets、JSP、JAX-RS、 Spring框架、Play框架、带Facelets的JSF以及Spark Framework。在本人看来,这些框架并没有很好地实现面向对象设计。它们充斥着静态方法、未经测试的数据结构以及不够美观的解决方式。因此一个月前本人决定开始编写自己的Java...

外观模式(门面模式),是一种相对简单而又无处不在的模式。外观模式提供一个高层接口,这个接口使得客户端或子系统更加方便调用。 用一段再简单不过的代码来表示 var getName = function(){ return ''svenzeng' } var getSex = function(){ return 'man' } 假...

在某些情况下,丢包可能并不是造成延时的原因。你可能会发现尽管两台主机之间通讯速度很慢,但这种慢速并没有伴随着TCP重传或是重复ACK的征兆。在这种情况下,需要使用另一种方式来定位高延时点。 查找高延时点最有效的方法之一是检查最初的握手信号以及跟随...

习惯了eclipse开发java程序,公司最近的项目都是idea开发的,同时android studio也是idea原型开发的,在学android开发,所以脱离eclipse转向idea看来是一个趋势了。,开发工具的使用就是一个习惯的问题, 习惯了开发效率就高,不习惯工具使用问题,还得去百度...

最近几年Lambda表达式风靡于编程界。很多现代编程语言都把它作为函数式编程的基本组成部分。基于JVM的编程语言如Scala、Groovy及Clojure把它作为关键部分集成在语言中。而如今,(最终)Java 8也加入了这个有趣的行列。 Lambda表达式最有意思的地方在于,在J...

在“Internet选项”对话框中可以实现对IE的各种设置功能,用户可以通过编辑组策略来限制使用“Internet选项”选项卡,从而防止非法用户的恶意设置,按照下面方法来操作...

本篇文章小编为大家介绍,Android 网络图片查看显示的实现方法,需要的朋友参考下。 我们的应用或多或少都会从网络获取图片数据然后进行显示,下面就将实现一个这样的例子,获取网络中的图片! 首先:我们来看一下效果图 界面中有三个控件,一个EditText,...

该文介绍另一个好用的抓包工具 Wireshark, 用来获取网络数据封包,包括 HTTP、TCP、UDP 等网络协议包。 记得大学的时候就学习过TCP的三次握手协议,那时候只是知道,虽然在书上看过很多TCP和UDP的资料,但是从来没有真正见过这些数据包, 老是感觉在云上飘...

CXF和sping具有很好的结合性,所以CXF是Java 程序员开发web service最佳的选择,ITJS的这篇文章是一个入门的例子,基本是Writing a service with Spring 的一个拷贝,希望能给那些不想去倒腾CXF官方例子的同仁一点帮助, 服务端的开发步骤: 1、新建maven工...

通常,各位同行希望能够在lambda表达式的闭合方法或类中访问其他的变量,例如: package java8test; public class T1 { public static void main(String[] args) { repeatMessage('Hello', 20); } public static void repeatMessage(Str...

TCP: TCP/IP通过三次握手建立一个连接。这一过程中的三种报文是:SYN,SYN/ACK,ACK。 第一步是找到PC发送到网络服务器的第一个SYN报文,这标识了TCP三次握手的开始。 假若你找不到第一个SYN报文,选择Edit -> Find Packet菜单选项。选择Display Filter...

一、前言 对于理工 科学生来说,这个答案可能很简单,因为这是一门必修课。而对于程序员来说选择一门编程语言,在某种程度上,对职业生涯的发展会产生重大的影响,所以必须慎 之又慎。那么,为什么要选择一门诞生了将近半个世纪的语言?本文不是老生常谈的废...

许多事件都可能会导致JVM暂停所有的应用线程。这类暂停又被称为'stop-the-world'(STW)暂停。触发STW暂停最常见的原因就是垃圾回收了(github中的一个例子),但不同的JIT活动(例子),偏向锁擦除(例子),特定的JVMTI操作,以及许多场景也可能会导致应用程...

TCP通过滑动窗口机制检测丢包,并在丢包发生时调整数据传输速率。滑动窗口机制利用数据接收端的接收窗口来控制数据流。 接收窗口值由数据接收端指定,以字节数形式存储于TCP报文头,并告知传输设备有多少数据将会存储在TCP缓冲区。缓冲区就是数据暂时放置的...

本周早些时候 Google 开源了 TensorFlow(GitHub),此举在深度学习领域影响巨大,因为 Google 在人工智能领域的研发成绩斐然,有着雄厚的人才储备,而且 Google 自己的 Gmail 和搜索引擎都在使用自行研发的深度学习工具。 无疑,来自 Google 军火库的 Tenso...

在进行代码开发的时候,我们往往会频繁的使用键盘、鼠标进行协作,但是切换使用两种工具会影响到我们的开发速度,要是所有的操作都可以只用键盘来完成,那开发效率将得到大幅度的提升。因此,灵活地应用 Visual Studio 的键盘快捷键,就可以起到事半功倍的地...

前几年,我有机会能参与一些有趣的项目,并且独立完成开发、升级、重构以及新功能的开发等工作。 该篇总结了一些PHP程序员在Web开发中经常 忽略的关键错误,尤其是在处理中大型的项目上问题更为突出。典型的错误表现在不能很好区分各种开发环境和没有使用缓...

你是系统管理员,Linux 重度用户,或者只是每天要在命令行花费大量时间的用户?选择哪种终端仿真程序,可能跟个人的喜好有关。你是喜欢轻量级呢,还是探索全部功能和可定制化的选项?或者只使用发行版给的默认选项? 假若你对终端程序还不了解,你可以认为它...

历史悠久的超文本传输协议,即HTTP标准,这些日子版本升级了。HTTP/2在2015年5月被批准,目前已经在很多Web浏览器和服务器中得到实现(包括NGINX Plus和开源NGINX)。大约有三分之二的浏览器已经支持HTTP/2,而且这个比例每月都在增加。 HTTP/2构建在Google...

摘要 该文章内容介绍下Mysql的InnoDB索引相关知识,从各种树到索引原理到存储的细节。 InnoDB是Mysql的默认存储引擎(Mysql5.5.5之前是MyISAM,文档)。本着高效学习的目的,该文章内容以介绍InnoDB为主,少量涉及MyISAM作为对比。 这篇文章是我在学习过程中...

Python是我喜欢的语言,简洁、优美、易用。前两天,我很激昂地向朋友宣传Python的好处。 “好吧,我承认Python不错,但它为什么叫Python呢?” “呃,似乎是一个电视剧的名字。” “那你说的Guido是美国人么?” “他从Google换到Dropbox工作,但他的名字像是...

介绍 在系列教程中的最新一篇里,我们将研究大家最可能在第一个开发项目中涉及到的资源类型。项目资源当中包含布局、图片以及数据值,这些都是应用需要使用的元素。当我们创建一个新项目时,项目目录下会自动生成多个用于容纳通用资源类型的文件夹。如果需要...

应用抓包过滤,选择Capture | Options,扩展窗口查看到Capture Filter栏。双击选定的接口,如下图所示,弹出Edit Interface Settints窗口。 下图显示了Edit Interface Settings窗口,这里可以设置抓包过滤条件。假若你确知抓包过滤条件的语法,直接在Capture...