java基础
rockets311
Im a coder...
展开
-
JAVA位运算
摘自《JAVA核心技术》在处理整型数值时,可以直接对组成整型数值的各个位进行操作,这意味着可以使用屏蔽技术获得整数中的各个位,位运算符包括:&("与"),|("或"),^("异或"),~("非")。这些运算符在位模式下工作。例如,如果n是一个整型变量,并且用二进制表示的n从右数第四位为1,那么int fourthBitFromRight = (n & 8) / 8;返回1,否则转载 2013-07-22 17:09:53 · 1037 阅读 · 0 评论 -
CompletionService
import java.util.concurrent.Callable; import java.util.concurrent.CompletionService; import java.util.concurrent.ExecutorCompletionService; import java.util.concurrent.ExecutorService; import java.原创 2016-04-06 10:22:44 · 397 阅读 · 0 评论 -
fork-join框架
以下内容选自《JAVA核心技术卷Ⅰ》14.9.4 有些应用使用了大量线程,但其中大多数都是空闲的。举例来说,一个Web服务器可能会为每个连接分别使用一个线程。另外一些应用可能对每个处理器内核分别使用一个线程,来完成计算密集型任务,如图像或视频处理。Java SE 7中新引入了fork-join框架,专门用来支持后一类应用。代码:import java.util.concurrent.ForkJoi转载 2016-04-06 10:22:16 · 344 阅读 · 0 评论 -
epoll原理
首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。 不管是文件,还是套接字,还是管道,我们都可以把他们看作流。 之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数据,但是流中还没有数据,(典型的例子为,客户端要从socket读如数据,但是服务器还没有把数据传回转载 2016-04-06 10:21:35 · 696 阅读 · 0 评论 -
RSA加密解密
这里介绍我们已经有了私钥和公钥(不是java序列化的文件)之后的加密解密。简要介绍一下如何生成公钥和私钥: 生成RSA私钥和公钥上图中的两个命令:genrsa -out rsa_private_key.pem 1024执行之后,当前目录就出现了公钥的文件。pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt注意原创 2016-04-06 10:20:41 · 2136 阅读 · 0 评论 -
RSA加密解密
以下代码是从《java核心技术卷Ⅱ》第九章中修改而来的import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java原创 2016-04-06 10:19:21 · 570 阅读 · 0 评论 -
hashCode
一、把某个非零的常数值,比如17,保存在一个名为result的int变量中。二、a、为该域计算int类型的hashCode的值c:1)如果该域是boolean,则计算(f ? 1 : 0);2)如果该域是byte、char、short或者int,则计算(int)f;3)如果该域是long,则计算(int)(f ^ f >>> 32);4)如果该域是float,则计算Fl转载 2014-03-01 14:18:15 · 598 阅读 · 0 评论 -
一些代码_正则
没什么意思,放这儿,用的着的时候看一下而已。import java.util.regex.Matcher;import java.util.regex.Pattern;public class Demo01{ public static void main(String[] args) { System.out.println("abc".matches("...")原创 2012-05-22 21:01:42 · 864 阅读 · 1 评论 -
一个小工具
一个小工具把java对象转换为JSONObjectpackage json;import java.beans.PropertyDescriptor;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.util.HashMap;import java.util.Map;impo原创 2012-06-22 16:48:44 · 493 阅读 · 0 评论 -
多线程下载文件雏形_Android学习笔记
下面的代码是仿照传智播客黎活明老师的Android教程后写的,就用多线程下载了一张图片。虽然有点杀鸡用牛刀的意思,但也能说明一些问题。import java.io.File;import java.io.InputStream;import java.io.RandomAccessFile;import java.net.HttpURLConnection;import java.原创 2012-07-31 15:39:16 · 679 阅读 · 0 评论 -
有毛病的单例分析
分析一个比较简单的东西:分析一下执行过程以及为什么出错原来,INSTANCE是null。有A、B两个线程。A执行到第21行,一看INSTANCE是null,就进synchronized块儿了(第24行)。注意:这时候INSTANCE还是null,因为第25行没有执行。正在这时,B来了,因为getInstance方法木有加synchronized关键字,所以B原创 2012-07-31 15:47:42 · 545 阅读 · 0 评论 -
冒号问号操作符趣事
看以下代码:public class Demo{ public static void main(String[] args) { char x = 'A'; int i = 65; boolean b = true; System.out.println(b ? 65 : x); System.out.println(b ? i : x); Syst原创 2012-12-02 20:47:10 · 803 阅读 · 0 评论 -
有毛病的单例2
import java.io.FileNotFoundException;import java.io.PrintStream;import java.util.ArrayList;import java.util.List;class Ta{ static Ta instance = null; static Object locker = new Object(); pr原创 2014-01-20 11:22:07 · 661 阅读 · 0 评论 -
关于synchronized
今天在CSDN看到有人问关于synchronized的帖子,随手写了一个回帖了,然后发现了问题,记录一下。原帖:http://topic.csdn.net/u/20120912/10/3898dec6-cc46-4587-92ed-0be1a40ebb08.html在我第一次回答的里面:代码如下(稍微修改了一下):我想说的都在代码的注释里。public class SynDemo原创 2012-09-12 14:01:45 · 486 阅读 · 0 评论 -
传说中的死锁
大概这就是传说中的死锁吧!synchronized关键字值得研究,关键看它到底锁了谁。/** * This is a demo of dead lock * * @author Administrator * */public class SyncDemo{ public static void main(String[] args) { Person pers原创 2011-12-26 21:23:48 · 543 阅读 · 0 评论 -
警惕TimerTask#run可能抛出的异常
转自:http://www.ticmy.com/?p=82如果你正在使用Timer来执行定时任务,那么一定要捕获run方法的异常,并不再往外抛。在Timer机制中,只有一个线程来执行定时任务,如果TimerTask#run抛出了异常而没有catch住,那么就可能导致Timer终止掉!如果你的TimerTask是用来周期执行一些重要的工作,那么这带来的后果是灾难性呢,可能导致程序无法转载 2012-09-15 23:48:22 · 3484 阅读 · 1 评论 -
JAVA线程--转自OSchina(http://m.oschina.net/blog/55064)
看过http://bbs.csdn.net/topics/390352356这篇帖子之后,搜了一下,发现这篇文章,感觉不错,就转来了,貌似这个也是作者转的。好东西,就不追究到底原创是谁了。Java线程:创建与启动一、定义线程 1、扩展java.lang.Thread类。 此类中有个run()方法,应该注意其用法:public转载 2013-01-21 12:55:27 · 936 阅读 · 0 评论 -
C++网络
c++ socket原创 2016-05-10 19:31:02 · 670 阅读 · 1 评论