`
623deyingxiong
  • 浏览: 188304 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
面试如同考试,但比国内的考试更加易抄袭,易掌控。 说它易抄袭,并不是说能提前知道答案,事实上考题也是未知的,但却可以从各种途径得知考题的范围。如,招聘要求上写的各种技能,都可以提前在网上通过搜索引擎了 ...
同步(Synchronization) 线程之间的通信主要是通过共享变量和变量指向的对象。这种形式的通信非常高效,但是产生了两种可能的错误:线程干扰(thread interference)和读脏数据(memory consistency errors)。我们需要使用同步来避免这些错误。 ...
protobuf的编解码具有性能高、传输数据量小、跨语言的特点。但按照protobuf官方文档https://developers.google.com/protocol-buffers/docs/overview中说的,需要先用protoc编译器生成对应语言的编解码代理,然后再用代理build和parse数据。 在我的一个应用场景中,使用脚本根据配置直接生成java pojo源码和对应proto文件,并在pojo中加上自身的编解码方法。这样的话若采用调用protoc生成代理的策略显得十分笨拙,另外既然protobuf能用代理类去解编码数据,那理论上,直接编解码数据也是可以实现的,但遗憾的 ...
package com.test.algorithm.dp; import java.util.HashSet; import java.util.Set; /** * @author hawkinswang * * 01背包问题:在指定数组中挑选任意组合,让它们的和等于一个特定值,列出所有组合方式 * 使用动态规划方法解决,状态转移方程:dp[i][j]=dp[i-arr[j]][j-1].add(arr[j]) * */ public class FindComineEqualSum { public stat ...
http://www.cnblogs.com/hoojo/archive/2010/12/20/1911380.html
package com.test; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Set; /** * @author Hawkins * * * 多维集合迭代器 */ public class MultiDimenIterator<T> { private Index[] table = new Index[255];// 数组从前到后,对应的是高位到低位。 private ...
/** * 连接 webservice 服务器,调用指定方法。 * * @param namespace * @param endpoint * @param function * 接口方法名称 * @return boolean 是否连接成功 */ private boolean connect(String namespace, String endpoint, String function, List<String> paramNames) { try { // 连接WS服务 ...
不可变对象(Immutable Objects) 如果一个对象的状态在其创建之后不能被改变,那我们就说它是不可变对象。在多线程编程中,最大程度地使用不可变对象可以实现简单又可靠的代码。 不可变对象在并发应用中特别有用。因为它们不会改变状态,它们在遇到线程干扰和不一致访问时也不会出错(译注:因为每个线程在试图改变一个对象时,实际上是得到了该对象在最新状态下的拷贝,例如String就是不可变对象)。 程序员经常不愿使用不可变对象,因为他们担心拷贝对象会降低性能。实际上,创建对象的资源耗费常被高估(overestimated),实际上这样的资源耗费完全可以被不可变对象提高的效率抵消掉。使用不可变 ...
高级并发对象 到目前为止,上几个章节中,我们重点讲了Java框架最原始的低级API。这些API对于完成基本任务来说已经足够了,但是对于更高级的工作我们需要更高级的API。对于那些需要充分利用现代多处理器和多核系统的大规 ...
package com.test.threads; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; /** * @aut ...
package com.test.json; import java.util.ArrayList; import java.util.List; import com.google.gson.Gson; import com.google.gson.annotations.SerializedName; import com.google.gson.reflect.TypeToken; public class GsonTest { public static void main(String[] args) { Gson gson = new Gson( ...
  人人网的相册可设置为只对好友可见,但是今天一个偶尔的机会发现非好友也可以看到隐私相册,于是顺便就给一个好朋友留了言。   具体描述一下漏洞: (1) 首先自己要登陆,假设你要偷看的用户是A,然后搜索A的名字(前提你要知道他(她)叫什么哪个学校,户籍,性别等等)。 (2) 发现A的相册是只对好友开放的,不要急,看到地址栏里www.renren.com/后面的数字了吗?那是用户的唯一标识,对A的ID稍微做修改(稍微,就是从这串数字的第二位开始,每次只修改一位)。访问修改后的ID(假设为用户B的ID)所代表的用户首页。如:你要访问的用户A的ID是234164190,将第二位3改为4,修改后的用户B ...
代码: private boolean connect(String namespace, String endpoint, String function) { try { // 连接WS服务器 call = (Call) service.createCall(); // 设置调用方法 call.setOperationName(new QName(namespace, function)); // 设置服务器地址 call.setTargetEndpointAddress(endpoint); } catch (ServiceExc ...
   select schedulerid from circuit where schedulerid not in (null); 查询结果: |SCHEDULERID| +----------------------+ 结论:任何与null的比较(<,>,=,>=,<=,between and )和 in,not in等等的结果都是false。 心得:养成对select,insert,where子句使用nvl的习惯。警惕子查询的结果中是否有null值。
package com.test.processManagement; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintStream; import java.text.ParseException; ...
Global site tag (gtag.js) - Google Analytics