- 博客(85)
- 资源 (6)
- 问答 (6)
- 收藏
- 关注
原创 Java:Exchanger类的作用
java.util.concurrent包中的Exchanger类可用于两个线程之间交换信息。可简单地将Exchanger对象理解为一个包含两个格子的容器,通过exchanger方法可以向两个格子中填充信息。当两个格子中的均被填充时,该对象会自动将两个格子的信息交换,然后返回给线程,从而实现两个线程的信息交换。 示例代码如下:package test;import java.ut...
2018-06-09 18:01:42
10115
原创 编程探究智能手机的图案解锁
概述 图案解锁是现今智能手机比较常见的解锁方式,用户通过在3×3的点阵中绘制图案来设置密码,解锁时,也通过实时绘制图案来实现解锁验证。例如,下图就是几个解锁的图案示例:下文中笔者通过编程对图案解锁的情况进行探究,主要计算一些统计信息。首先给出图案解锁中对于图案绘制的规则,然后说明为实现相关计算而进行编程的思路,最后根据程序输出结果说明一些统计信息。绘图规则 对于目前图案解锁的实现,在绘...
2018-05-01 16:32:06
4540
1
原创 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
133728
5
原创 Java:SimpleDateFormat解析过程中的时区问题
(在做分布式系统开发的过程中,笔者遇到了集群中各成员显示时间数据不一致的问题,排查发现是因各个成员的系统时区设置不同,导致SimpleDateFormat类解析结果不同导致,mark一下) Java中的SimpleDateFormat类具有将Date对象转换成指定格式的字符串,对于同一个Date对象,SimpleDateFormat在不同的时区环境下,将解析出不同的结果。 示例程序...
2018-03-31 16:55:57
17611
原创 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
397
原创 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
538
原创 关于VLAN和VXLAN的理解
被公司调到新网路部门研究SDN,项目涉及到一些虚拟网络的概念。初次接触VLAN和VXLAN技术,特整理资料学习下。VLAN·概况 VLAN (Virtual Local Area Network)意为虚拟局域网,是在交换机实现过程中涉及到的概念,由802.1Q标准所定义。由于交换机是工作在链路层的网络设备,连接在同一台交换机的终端处于同一个三层网中,同时也处于同一个广播域。
2017-08-26 22:48:53
104031
17
原创 hihoCoder太阁最新面经算法竞赛题解(7)
题目来源: HihoCoder1318题目要求: 如果一个二进制数包含连续的两个1,我们就称这个二进制数是非法的。小Hi想知道在所有 n 位二进制数(一共有2^n个)中,非法二进制数有多少个。例如对于 n = 3,有 011, 110, 111 三个非法二进制数。 由于结果可能很大,你只需要输出模10^9+7的余数。
2017-08-13 22:40:38
657
原创 hihoCoder太阁最新面经算法竞赛题解(6)
题目来源: HihoCoder1311题目要求: 给定一个十进制小数X,判断X的二进制表示是否是有限确定的。 例如0.5的二进制表示是0.1,0.75的二进制表示是0.11,0.3没有确定有限的二进制表示。 解答: 本题需要判定一个小数表示为二进制之后是否是有限小数。这里需要知道一个结论:一个小数可以表示为有限长度的二进制
2017-06-24 17:02:28
664
原创 hihoCoder太阁最新面经算法竞赛题解(5)
题目来源: HihoCoder1310题目要求:给你一张某一海域卫星照片,你需要统计:1. 照片中海岛的数目2. 照片中面积不同的海岛数目3. 照片中形状不同的海盗数目 其中海域的照片如下,"."表示海洋,"#"表示陆地。在"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。.####.......#.#
2017-06-21 21:10:30
675
原创 Java复习笔记(9)——泛型
泛型基础1、从Java程序设计语言1.0发布以来,变化最大的部分就是泛型。2、使用泛型机制编写的程序代码要比那些杂乱地使用Object变量,然后在进行强制类型转换的代码具有更好的安全性和可读性。3、泛型为类提供了类型参数,用来表示其中包含元素的类型:ArrayList files = new ArrayList();4、在Java 7 及以后的版本中,构造函数中可以省略泛型类型
2017-06-20 21:08:34
681
原创 JavaEE复习笔记(9)——Struts:国际化
1、Struts2的国际化建立在Java国际化的基础之上。2、通过配置struts.custom.i18n.resources常量来加载全局国际化资源文件,该常量值为全局国际化资源文件的baseName。3、Struts2访问国际化消息主要有如下三种方式:·为了在JSP页面中输出国际化消息,可以使用Struts2的标签,该标签可以指定一个name属性,该属性指定了国际化文件中的key。
2017-06-20 21:02:55
851
原创 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
550
原创 JavaEE复习笔记(7)——Struts:异常处理
1、Struts2允许通过struts.xml文件来配置异常的处理。2、首先需要开启Struts2的异常映射功能,需要配置一个拦截器:...执行异常处理的拦截器 -->”exception”class=”com.opensymphony.xwork.interceptor.ExceptionMapping.Interceptor”
2017-06-20 20:56:59
705
原创 hihoCoder太阁最新面经算法竞赛题解(4)
题目来源: HihoCoder1309题目要求: 给定N项任务的起至时间(S1,E1), (S2, E2), ..., (SN, EN), 计算最少需要多少台机器才能按时完成所有任务。 同一时间一台机器上最多进行一项任务,并且一项任务必须从头到尾保持在一台机器上进行。任务切换不需要时间。解答: 本题比较简单。由于某些任务
2017-06-20 20:55:06
802
原创 hihoCoder太阁最新面经算法竞赛题解(3)
题目来源: HihoCoder1307题目要求: 作为某国的精英特工,你接到了一项任务,驾驶一辆吉普穿越布满监测雷达的禁区。为了简化题目,我们可以把禁区想象为一个左下角是(0, 0)右上角是(W,H)的长方形区域。区域中一共有N座雷达,其中第i座的坐标是(Xi,Yi),监测范围是半径为Ri的圆形区域。所有在圆内和圆上的运载工具都会被监测到。你的目标是
2017-06-20 20:52:23
571
原创 hihoCoder太阁最新面经算法竞赛题解(2)
题目来源: HihoCoder1306题目要求: 小Hi最近在分析一支股票的价格走势,他需要一个程序来辅助分析。这个程序会接收3种消息(指令):价格信息,格式是:P timestamp price;表示这支股票在timestamp时刻价格是price。删除价格指令,格式是R timestamp;随着时间推移,小Hi会积累越来越多的价格数据
2017-06-20 20:47:41
457
原创 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
578
原创 利用Java和photoShop实现照片拼图
概述: 今天进行一个很有意思的实践,利用Java编程实现照片拼图,通过程序操作图片文件,结合photoshop软件,实现下面的效果: 该图片由很多小图片拼接而成,放大以后是这样的效果: 下文中将介绍实现步骤,主要用到了Java程序和photoshop,利用Java编程完成图片的拼接和原图像的采样,然后利用photoshop完成采样图片和拼图图片的叠
2017-02-19 11:16:35
5402
4
原创 ACM解题总结——后缀自动机:定义和性质(HihoCoder1441)
题目来源: HihoCoder1441题目要求: 根据输入的字符串构建后缀自动机,然后输出指定状态的信息。 解答: 后缀自动机是一种处理字符串的技术。利用后缀自动机可以高效地对字符串的后缀串、子串以及相关的统计信息进行计算和处理。本文在解答本题过程中给出后缀自动机的基本概念和具有的特点。 ·子串分组: 一个字符串的后缀自动机
2017-01-31 21:54:07
1672
原创 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
503
原创 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
730
原创 Servlet 3.0 的文件上传功能
利用Servlet 3.0 的新特性可以轻松实现从客户端上传文件到服务器的功能。原理: 首先介绍HttpServletRequest类中包含的涉及到文件上传的2个函数: ① Part getPart(String name):根据文件名来获取文件上传域。 ② Collection getParts():获取所有文件的上传域。 上面两个方法的返回值都
2017-01-24 20:06:48
785
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
1340
原创 Java复习笔记(8)——异常、断言、日志和调试
异常1、对于异常情况,Java使用一种称为异常处理(exception handing)的错误捕获机制处理。2、用户期望在出现错误是,程序能够采用一些理智的行为,如果由于出现错误而使得某些操作没有完成,程序应该:·返回到一种安全的状态并能够让用户执行一些其他的命令·允许用户保存所有操作的结果,并以适当的方式终止程序。3、在Java中,如果某个方法不能够采
2017-01-06 19:11:16
2368
原创 JavaEE复习笔记(3)——Servlet相关技术
Servlet1、MVC规范出现后,Servlet的责任开始明确下来,仅仅作为控制器使用,不再需要生成页面标签,也不在作为视图层的角色使用。2、JSP的本质是Servlet。3、Servlet通常被称为服务器端小程序,是运行在服务器端的程序,用于处理及相应客户端的请求。4、Servlet类必须继承HttpServlet超类,提供不同的方法用于响应客户端的请求:·doGet:用于
2016-12-29 10:30:41
659
原创 JSP2自定义标签库技术
1、概述: JSP本质其实仍然是Servlet,部署JSP后,服务器会将其自动转化成Servlet进行运行。用JSP取代Servlet的原因是利用Servlet实现用户界面比较繁琐,将大量的静态HTML代码穿插于Java代码中增加了代码维护工作的难度,并且也不利于前端开发人员和美工人员参与项目开发。 JSP 2 标准为开发者提供了自定义标签库的功能。使用自定义标签库的目的跟使用
2016-12-28 16:46:19
935
原创 关于Javac命令和类文件之间的依赖问题
今天,笔者遇到了一个小问题:在使用原始的javac编译Java类文件时,如果当前类文件对其他类有依赖,那么,就可能会出现问题。 举例如下:笔者在桌面新建一个文件夹test,然后建立两个类:A.java和B.java,如下图: 两个类的代码都很简单,其中B类对A类有依赖: 然后,我们分3种情况分析:情况① : 直接用javac命
2016-12-21 21:40:05
16346
3
原创 Java复习笔记(7)——接口和内部类
接口1、在Java程序设计语言中,接口不是类,而是对类的一组需求描述,这些类要遵从接口描述的统一格式进行定义。2、接口中的所有方法自动地属于public。3、接口绝对不能含有实例域,也不能在接口中实现方法。提供实例域和方法实现的任务应该由实现接口的那个类来完成。4、使用implements关键字使类实现一个接口。5、接口不是类,尤其不能使用new运算符实例化一个接口:x
2016-12-15 15:00:48
435
原创 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
1028
原创 Java复习笔记(6)——反射
1、反射机制提供了动态操纵Java程序代码的方法,通常被用于JavaBean。2、能够分析类的能力的程序称为反射。反射机制可以用来:·在运行中分析类的能力。·在运行中查看对象,例如,编写一个toString方法供所有类使用。·实现通用的数组操作代码。·利用Method对象,这个对象很像C++中的函数指针。3、在程序运行期间,Java运行时系统始终
2016-12-06 19:52:37
384
原创 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
529
原创 利用Java反射机制输出类的信息
利用Java的反射机制可以对Java类进行解析。本程序以类名为输出参数,输出该类的名称、继承的父类、实现的接口、包含的域、拥有的构造器以及方法,以及该类的继承链。代码如下:package chapter5;import java.util.*;import java.lang.reflect.*;/** * This program uses reflection to p
2016-12-05 16:16:17
2053
原创 ACM解题总结———HihoCoder1403(后缀数组)
(p.s: 前段时间因为找工作和论文的关系,很久没有更新 ,今天起再次开更。。。。 ) 题目来源: HihoCoder1403 题目要求: 小Hi平时的一大兴趣爱好就是演奏钢琴。我们知道一个音乐旋律被表示为长度为 N 的数构成的数列。 小Hi在练习过很多曲子以后发现很多作品自身包含一样的旋律。旋律是一段连续的数列,相似的旋律在原数列可重
2016-12-01 21:12:43
1314
原创 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
537
转载 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
864
转载 Java线程中sleep()、wait()和notify()和notifyAll()、yield()、join()等方法的用法和区别
本文转载自:http://blog.youkuaiyun.com/niluchen/article/details/8119426Java线程中sleep()、wait()和notify()和notifyAll()、suspend和resume()、yield()、join()、interrupt()的用法和区别 从操作系统的角度讲,os会维护一个ready queue(就绪的线程队列)。并且在某
2016-11-02 17:00:33
432
转载 Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition
本文转载自:http://www.cnblogs.com/dolphin0520/p/3920385.html 在前面我们将了很多关于同步的问题,然而在现实中,需要线程之间的协作。比如说最经典的生产者-消费者模型:当队列满时,生产者需要等待队列有空间才能继续往里面放入商品,而在等待的期间内,生产者必须释放对临界资源(即队列)的占用权。因为生产者如果不释放对临界资源的占用权,那么消费者就无法消
2016-11-02 16:30:17
292
转载 Java集合框架
(本文转载自:http://doc.okbase.net/DavidIsOK/archive/94766.html) 前言:数据结构对程序设计有着深远的影响,在面向过程的C语言中,数据库结构用struct来描述,而在面向对象的编程中,数据结构是用类来描述的,并且包含有对该数据结构操作的方法。在Java语言中,Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现
2016-11-01 10:44:06
259
转载 WinPcap编程入门(4)——不使用回调方法获取数据包
本文转载自:http://www.cnblogs.com/blacksword/这一次要分析的实例程序跟上一讲非常类似(“打开适配器并捕获数据包”),略微不同的一点是本次将pcap_loop()函数替换成了pcap_next_ex()函数。本节的重点也就是说一下这两个函数之间的差异。我们知道pcap_loop()函数是基于回调的原理来进行数据捕获的,如技术文档所说,这是一种精妙的方法,
2016-09-14 09:24:12
559
Java核心技术(第9版)卷2
2017-01-06
Android 布局文件异常
2017-01-07
关于Winpcap中 pcap_createsrcstr 函数的问题。。。
2016-09-06
求问:Java语言中,定长数组和HashMap在访问一个元素时,哪个效率高?
2016-08-28
关于hive启动hwi服务命令行死机的问题。
2015-03-29
liunx安装ssh遇到的问题。
2014-11-02
linux安装Hadoop中遇到的问题。。。
2014-10-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人