自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(85)
  • 资源 (6)
  • 问答 (6)
  • 收藏
  • 关注

原创 Java:Exchanger类的作用

    java.util.concurrent包中的Exchanger类可用于两个线程之间交换信息。可简单地将Exchanger对象理解为一个包含两个格子的容器,通过exchanger方法可以向两个格子中填充信息。当两个格子中的均被填充时,该对象会自动将两个格子的信息交换,然后返回给线程,从而实现两个线程的信息交换。    示例代码如下:package test;import java.ut...

2018-06-09 18:01:42 10028

原创 编程探究智能手机的图案解锁

概述    图案解锁是现今智能手机比较常见的解锁方式,用户通过在3×3的点阵中绘制图案来设置密码,解锁时,也通过实时绘制图案来实现解锁验证。例如,下图就是几个解锁的图案示例:下文中笔者通过编程对图案解锁的情况进行探究,主要计算一些统计信息。首先给出图案解锁中对于图案绘制的规则,然后说明为实现相关计算而进行编程的思路,最后根据程序输出结果说明一些统计信息。绘图规则    对于目前图案解锁的实现,在绘...

2018-05-01 16:32:06 4214

原创 Java:关于List类中的add、addAll和set方法

    Java中有一个用于表示线性表的List接口,其中包含add、addAll和set三个用于向表中插入元素的方法,笔者近期在编码过程中,遇到了一些问题,并总结了一些注意事项,mark一下。·add方法:    List接口中的add方法有如下两种重载方式:        ① boolean add(E e);        ② void add(int index, E element);其...

2018-04-06 22:13:26 130599 5

原创 Java:SimpleDateFormat解析过程中的时区问题

(在做分布式系统开发的过程中,笔者遇到了集群中各成员显示时间数据不一致的问题,排查发现是因各个成员的系统时区设置不同,导致SimpleDateFormat类解析结果不同导致,mark一下)     Java中的SimpleDateFormat类具有将Date对象转换成指定格式的字符串,对于同一个Date对象,SimpleDateFormat在不同的时区环境下,将解析出不同的结果。     示例程序...

2018-03-31 16:55:57 17390

原创 ACM解题总结——HihoCoder1363

题目来源:    HihoCoder1363题目要求:    在图像处理的技术中,经常会用到算子与图像进行卷积运算,从而达到平滑图像或是查找边界的效果。    假设原图为H×W的矩阵A,算子矩阵为D×D的矩阵Op,则处理后的矩阵B大小为(H-D+1)×(W-D+1)。其中:                                                  B[i][j] = ∑(A...

2018-03-31 15:07:36 360

原创 ACM解题总结——HihoCoder1364

题目来源:    HihoCoder1364 题目要求:    小Hi在游乐园中获得了M张奖券,这些奖券可以用来兑换奖品。    可供兑换的奖品一共有N件。第i件奖品需要Wi张奖券才能兑换到,其价值是Pi。      小Hi使用不超过M张奖券所能兑换到的最大奖品总价值是多少?输入输出格式:    输入:第一行两个整数N,M。  接下来N行,每行两个整数Wi,Pi。  对于 50%的数据: 1≤N,...

2018-03-25 21:43:38 479

原创 关于VLAN和VXLAN的理解

被公司调到新网路部门研究SDN,项目涉及到一些虚拟网络的概念。初次接触VLAN和VXLAN技术,特整理资料学习下。VLAN·概况     VLAN (Virtual Local Area Network)意为虚拟局域网,是在交换机实现过程中涉及到的概念,由802.1Q标准所定义。由于交换机是工作在链路层的网络设备,连接在同一台交换机的终端处于同一个三层网中,同时也处于同一个广播域。

2017-08-26 22:48:53 102817 24

原创 hihoCoder太阁最新面经算法竞赛题解(7)

题目来源:    HihoCoder1318题目要求:    如果一个二进制数包含连续的两个1,我们就称这个二进制数是非法的。小Hi想知道在所有 n 位二进制数(一共有2^n个)中,非法二进制数有多少个。例如对于 n = 3,有 011, 110, 111 三个非法二进制数。    由于结果可能很大,你只需要输出模10^9+7的余数。

2017-08-13 22:40:38 612

原创 hihoCoder太阁最新面经算法竞赛题解(6)

题目来源:    HihoCoder1311题目要求:    给定一个十进制小数X,判断X的二进制表示是否是有限确定的。    例如0.5的二进制表示是0.1,0.75的二进制表示是0.11,0.3没有确定有限的二进制表示。 解答:    本题需要判定一个小数表示为二进制之后是否是有限小数。这里需要知道一个结论:一个小数可以表示为有限长度的二进制

2017-06-24 17:02:28 606

原创 hihoCoder太阁最新面经算法竞赛题解(5)

题目来源:    HihoCoder1310题目要求:给你一张某一海域卫星照片,你需要统计:1. 照片中海岛的数目2. 照片中面积不同的海岛数目3. 照片中形状不同的海盗数目    其中海域的照片如下,"."表示海洋,"#"表示陆地。在"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。.####.......#.#

2017-06-21 21:10:30 632

原创 Java复习笔记(9)——泛型

泛型基础1、从Java程序设计语言1.0发布以来,变化最大的部分就是泛型。2、使用泛型机制编写的程序代码要比那些杂乱地使用Object变量,然后在进行强制类型转换的代码具有更好的安全性和可读性。3、泛型为类提供了类型参数,用来表示其中包含元素的类型:ArrayList files = new ArrayList();4、在Java 7 及以后的版本中,构造函数中可以省略泛型类型

2017-06-20 21:08:34 575

原创 JavaEE复习笔记(9)——Struts:国际化

1、Struts2的国际化建立在Java国际化的基础之上。2、通过配置struts.custom.i18n.resources常量来加载全局国际化资源文件,该常量值为全局国际化资源文件的baseName。3、Struts2访问国际化消息主要有如下三种方式:·为了在JSP页面中输出国际化消息,可以使用Struts2的标签,该标签可以指定一个name属性,该属性指定了国际化文件中的key。

2017-06-20 21:02:55 800

原创 JavaEE复习笔记(8)——Struts:Convention插件和约定

1、从Struts2.1开始,Struts2引入了Convention插件来支持零配置。插件完全可以抛弃配置信息,不仅不需要struts.xml文件进行配置,甚至不需要使用Annotation进行配置。而是由Struts2根据约定来自动配置。2、Convention插件的主要特点是:约定优于配置。3、为了使用Convention插件,必须在Struts2应用中安装Convent

2017-06-20 20:58:00 497

原创 JavaEE复习笔记(7)——Struts:异常处理

1、Struts2允许通过struts.xml文件来配置异常的处理。2、首先需要开启Struts2的异常映射功能,需要配置一个拦截器:...执行异常处理的拦截器 -->”exception”class=”com.opensymphony.xwork.interceptor.ExceptionMapping.Interceptor”

2017-06-20 20:56:59 674

原创 hihoCoder太阁最新面经算法竞赛题解(4)

题目来源:    HihoCoder1309题目要求:    给定N项任务的起至时间(S1,E1), (S2, E2), ..., (SN, EN), 计算最少需要多少台机器才能按时完成所有任务。    同一时间一台机器上最多进行一项任务,并且一项任务必须从头到尾保持在一台机器上进行。任务切换不需要时间。解答:   本题比较简单。由于某些任务

2017-06-20 20:55:06 741

原创 hihoCoder太阁最新面经算法竞赛题解(3)

题目来源:    HihoCoder1307题目要求:    作为某国的精英特工,你接到了一项任务,驾驶一辆吉普穿越布满监测雷达的禁区。为了简化题目,我们可以把禁区想象为一个左下角是(0, 0)右上角是(W,H)的长方形区域。区域中一共有N座雷达,其中第i座的坐标是(Xi,Yi),监测范围是半径为Ri的圆形区域。所有在圆内和圆上的运载工具都会被监测到。你的目标是

2017-06-20 20:52:23 509

原创 hihoCoder太阁最新面经算法竞赛题解(2)

题目来源:    HihoCoder1306题目要求:    小Hi最近在分析一支股票的价格走势,他需要一个程序来辅助分析。这个程序会接收3种消息(指令):价格信息,格式是:P timestamp price;表示这支股票在timestamp时刻价格是price。删除价格指令,格式是R timestamp;随着时间推移,小Hi会积累越来越多的价格数据

2017-06-20 20:47:41 410

原创 hihoCoder太阁最新面经算法竞赛题解(1)

题目来源:    HihoCoder1305题目要求:    给定两个区间集合A和B,其中集合A包含N个区间[A1,A2],[A3,A4],..., [A2n-1,A2n],集合B包含M个区间[B1,B2], [B3,B4], ..., [B2M-1, B2M]。求的A-B长度。  解答:    A-B = A - A∩B。题目要求从A组中的所有区间中删去和B组

2017-06-20 20:43:43 531

原创 利用Java和photoShop实现照片拼图

概述:    今天进行一个很有意思的实践,利用Java编程实现照片拼图,通过程序操作图片文件,结合photoshop软件,实现下面的效果:    该图片由很多小图片拼接而成,放大以后是这样的效果:    下文中将介绍实现步骤,主要用到了Java程序和photoshop,利用Java编程完成图片的拼接和原图像的采样,然后利用photoshop完成采样图片和拼图图片的叠

2017-02-19 11:16:35 5128 4

原创 ACM解题总结——后缀自动机:定义和性质(HihoCoder1441)

题目来源:    HihoCoder1441题目要求:    根据输入的字符串构建后缀自动机,然后输出指定状态的信息。   解答:     后缀自动机是一种处理字符串的技术。利用后缀自动机可以高效地对字符串的后缀串、子串以及相关的统计信息进行计算和处理。本文在解答本题过程中给出后缀自动机的基本概念和具有的特点。 ·子串分组:    一个字符串的后缀自动机

2017-01-31 21:54:07 1624

原创 JavaEE复习笔记(6)——Struts:Action

1、相对于Struts 1 而言,Struts 2 采用了低侵入式设计,Struts 2 不要求Action类继承任何的Struts 2 的基类,获实现任何Struts 2 接口。在这种设计方式下,Struts 2 的Action类是一个普通的POJO(通常应该包含一个无参数的execute方法),从而有很好的代码复用性。2、Struts 2 通常直接使用Action来封装HTTP请求参数,因

2017-01-29 17:17:39 470

原创 JavaEE复习笔记(5)——Struts:MVC思想和Struts2的配置

MVC1、Struts2由传统的Struts1和WebWork两个经典的MVC框架发展起来。2、Java Web 应用的结构经历了Model 1和 Model 2 两个时代。3、在Model 1 时代下,整个Web应用几乎全部由JSP页面组成,JSP页面接受处理客户端的请求,对请求处理后直接作出响应。用少量的JavaBean来处理数据库的连接、数据库访问等操作。4、Mode

2017-01-29 17:14:39 671

原创 Servlet 3.0 的文件上传功能

利用Servlet 3.0 的新特性可以轻松实现从客户端上传文件到服务器的功能。原理:    首先介绍HttpServletRequest类中包含的涉及到文件上传的2个函数:    ① Part getPart(String name):根据文件名来获取文件上传域。     ② Collection getParts():获取所有文件的上传域。    上面两个方法的返回值都

2017-01-24 20:06:48 721 1

原创 JavaEE复习笔记(4)——JSP2和Servlet3.0的新特性

JSP2 新特性1、JSP 2 主要增加了如下的新特性:·直接配置JSP属性。·表达式语言·简化自定义标签API·Tag文件语法。2、如需使用JSP2语法,其web.xml文件必须使用Servlet2.4以上版本的配置文件。Servlet2.4以上版本的配置文件的根元素写法如下:”1.0”, encoding=”GBK”?>不

2017-01-11 15:41:04 1268

原创 Java复习笔记(8)——异常、断言、日志和调试

异常1、对于异常情况,Java使用一种称为异常处理(exception handing)的错误捕获机制处理。2、用户期望在出现错误是,程序能够采用一些理智的行为,如果由于出现错误而使得某些操作没有完成,程序应该:·返回到一种安全的状态并能够让用户执行一些其他的命令·允许用户保存所有操作的结果,并以适当的方式终止程序。3、在Java中,如果某个方法不能够采

2017-01-06 19:11:16 2224

原创 JavaEE复习笔记(3)——Servlet相关技术

Servlet1、MVC规范出现后,Servlet的责任开始明确下来,仅仅作为控制器使用,不再需要生成页面标签,也不在作为视图层的角色使用。2、JSP的本质是Servlet。3、Servlet通常被称为服务器端小程序,是运行在服务器端的程序,用于处理及相应客户端的请求。4、Servlet类必须继承HttpServlet超类,提供不同的方法用于响应客户端的请求:·doGet:用于

2016-12-29 10:30:41 619

原创 JSP2自定义标签库技术

1、概述:    JSP本质其实仍然是Servlet,部署JSP后,服务器会将其自动转化成Servlet进行运行。用JSP取代Servlet的原因是利用Servlet实现用户界面比较繁琐,将大量的静态HTML代码穿插于Java代码中增加了代码维护工作的难度,并且也不利于前端开发人员和美工人员参与项目开发。    JSP 2 标准为开发者提供了自定义标签库的功能。使用自定义标签库的目的跟使用

2016-12-28 16:46:19 891

原创 关于Javac命令和类文件之间的依赖问题

今天,笔者遇到了一个小问题:在使用原始的javac编译Java类文件时,如果当前类文件对其他类有依赖,那么,就可能会出现问题。    举例如下:笔者在桌面新建一个文件夹test,然后建立两个类:A.java和B.java,如下图:         两个类的代码都很简单,其中B类对A类有依赖:     然后,我们分3种情况分析:情况① :    直接用javac命

2016-12-21 21:40:05 15880 5

原创 Java复习笔记(7)——接口和内部类

接口1、在Java程序设计语言中,接口不是类,而是对类的一组需求描述,这些类要遵从接口描述的统一格式进行定义。2、接口中的所有方法自动地属于public。3、接口绝对不能含有实例域,也不能在接口中实现方法。提供实例域和方法实现的任务应该由实现接口的那个类来完成。4、使用implements关键字使类实现一个接口。5、接口不是类,尤其不能使用new运算符实例化一个接口:x

2016-12-15 15:00:48 396

原创 JavaEE复习笔记(2)——JSP

1、JSP页面由两部分构成:·静态部分:标准的HTML标签、静态的页面内容。这些内容与静态的HTML页面相同。·动态部分:受Java程序控制的内容,这些内容由Java程序来动态生成2、JSP页面中 和%>之间放置Java脚本。3、JSP生成的servlet文件放在work路径对应的web目录下。4、相关说明:·JSP文件在JSP服务器内运行。·JSP文件必须生成

2016-12-12 21:35:00 945

原创 Java复习笔记(6)——反射

1、反射机制提供了动态操纵Java程序代码的方法,通常被用于JavaBean。2、能够分析类的能力的程序称为反射。反射机制可以用来:·在运行中分析类的能力。·在运行中查看对象,例如,编写一个toString方法供所有类使用。·实现通用的数组操作代码。·利用Method对象,这个对象很像C++中的函数指针。3、在程序运行期间,Java运行时系统始终

2016-12-06 19:52:37 320

原创 Java复习笔记(5)——继承

类、超类和子类1、用关键字extends表示继承。已存在的类称为:超类(superclass)、父类(parent class)、基类(base class),新类称为子类(subclass)、派生类(derived class)或孩子类(child class)。class Manager extends Employee {...;}2、

2016-12-06 19:48:06 483

原创 利用Java反射机制输出类的信息

利用Java的反射机制可以对Java类进行解析。本程序以类名为输出参数,输出该类的名称、继承的父类、实现的接口、包含的域、拥有的构造器以及方法,以及该类的继承链。代码如下:package chapter5;import java.util.*;import java.lang.reflect.*;/** * This program uses reflection to p

2016-12-05 16:16:17 1993

原创 ACM解题总结———HihoCoder1403(后缀数组)

(p.s: 前段时间因为找工作和论文的关系,很久没有更新 ,今天起再次开更。。。。 ) 题目来源:    HihoCoder1403 题目要求:    小Hi平时的一大兴趣爱好就是演奏钢琴。我们知道一个音乐旋律被表示为长度为 N 的数构成的数列。    小Hi在练习过很多曲子以后发现很多作品自身包含一样的旋律。旋律是一段连续的数列,相似的旋律在原数列可重

2016-12-01 21:12:43 1266

原创 JavaEE复习笔记(1)——JavaEE应用和开发环境

Tomcat1、运行Tomcat需要的环境变量:JAVA_HOME(JDK路径)、JRE_HOME(JRE路径)、CATALINA_HOME(Tomcat路径)。2、server.xml配置Tomcat服务端口:            connectionTimeout = ”20000” redirectPort=”8443”>可以通过添加节点使得Tomcat

2016-11-27 20:56:32 487

转载 eclipse启动Tomcat服务输入http://localhost:8080/报404解决方法

本文转载自:http://www.07net01.com/linux/eclipseqidongTomcatfuwushuruhttp_localhost_8080_bao404jiejuefangfa_657685_1382022486.html    eclipse启动Tomcat服务输入http://localhost:8080/报404解决方法其实如果Tomcat能够正常启动,而就

2016-11-27 20:42:56 823

转载 Java线程中sleep()、wait()和notify()和notifyAll()、yield()、join()等方法的用法和区别

本文转载自:http://blog.csdn.net/niluchen/article/details/8119426Java线程中sleep()、wait()和notify()和notifyAll()、suspend和resume()、yield()、join()、interrupt()的用法和区别 从操作系统的角度讲,os会维护一个ready queue(就绪的线程队列)。并且在某

2016-11-02 17:00:33 391

转载 Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition

本文转载自:http://www.cnblogs.com/dolphin0520/p/3920385.html  在前面我们将了很多关于同步的问题,然而在现实中,需要线程之间的协作。比如说最经典的生产者-消费者模型:当队列满时,生产者需要等待队列有空间才能继续往里面放入商品,而在等待的期间内,生产者必须释放对临界资源(即队列)的占用权。因为生产者如果不释放对临界资源的占用权,那么消费者就无法消

2016-11-02 16:30:17 262

转载 Java集合框架

(本文转载自:http://doc.okbase.net/DavidIsOK/archive/94766.html)    前言:数据结构对程序设计有着深远的影响,在面向过程的C语言中,数据库结构用struct来描述,而在面向对象的编程中,数据结构是用类来描述的,并且包含有对该数据结构操作的方法。在Java语言中,Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现

2016-11-01 10:44:06 232

转载 WinPcap编程入门(4)——不使用回调方法获取数据包

本文转载自:http://www.cnblogs.com/blacksword/这一次要分析的实例程序跟上一讲非常类似(“打开适配器并捕获数据包”),略微不同的一点是本次将pcap_loop()函数替换成了pcap_next_ex()函数。本节的重点也就是说一下这两个函数之间的差异。我们知道pcap_loop()函数是基于回调的原理来进行数据捕获的,如技术文档所说,这是一种精妙的方法,

2016-09-14 09:24:12 470

GIt 使用手册

通俗易懂的Git使用手册

2017-02-16

《Java核心技术》 第9版 卷2 pdf

Java核心技术,第9版 第2卷 pdf文件,不太清晰。

2017-01-07

《TCP/IP协议族》(第4版)部分习题解答

楼主自己做的答案,不能保证完全正确,望大家多多指教.

2017-01-06

Java核心技术(第9版)卷2

2017-01-06

Java核心技术(第9版)卷1_part2

因360云盘取消分享功能,现楼主经原pdf文件上传,因文件大小限制,故将其拆分为2个子文件分别上传分享。

2017-01-06

JDK Source Code.zip

现在下载的JDK都不给源代码,但有时候需要看看源码的实现,特存。

2016-08-23

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除