![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaSE
文章平均质量分 77
赫家旺
宁欺白须公,莫欺少年穷,终须有日龙穿凤,唔信一世裤穿窿。
展开
-
Java——SocketChannel
SocketChannel是NIO形式的客户端服务器通信的形式,支持异步非阻塞连接,通过管道与缓存的形式进行通信,与Java的Socket是有区别的,socket是通过请求——连接的形式进行通信,而SocketChannel是通过建立管道的形式进行通信,原则上,SocketChannel要比Socket快,这只是自己的理解,不知道正确与否了。。。下面总结下SocketChannel...2016-04-14 09:05:16 · 706 阅读 · 0 评论 -
Java 实现线程间通信
正常情况下,每个子线程完成各自的任务就可以结束了。不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程间通信了。 本文涉及到的知识点:thread.join(), object.wait(), object.notify(), CountdownLatch, CyclicBarrier, FutureTask, Callable 等。 下面我从几个...2017-10-14 14:47:20 · 298 阅读 · 0 评论 -
JDK中ExecutorService,Callable,Future对线程的支持
1、代码背景: 假如有Thread1、Thread2、Thread3、Thread4四条线程分别统计C、D、E、F四个盘的大小,所有线程都统计完毕交给Thread5线程去做汇总,应当如何实现?2、代码: 统计“盘子”大小的代码,此处实现jdk中的Callable接口,package com.wang.test.concurrent;import java.ut...2017-09-20 10:12:40 · 215 阅读 · 0 评论 -
java序列化与ObjectOutputStream和ObjectInputStream
一个测试的实体类:public class Param implements Serializable { private static final long serialVersionUID = 5187074869820982336L; private Integer param1; private String param2; public Inte...2017-09-18 15:44:52 · 175 阅读 · 0 评论 -
java中的PropertyChangeSupport与PropertyChangeListener
java中的PropertyChangeSupport与PropertyChangeListener配合使用能够实现,绑定属性会在属性值发生变化时,通知所有相关的监听器。javaBean:package com.wang.test.property;import java.beans.PropertyChangeListener;import java.beans.Prope...2017-09-01 21:30:17 · 712 阅读 · 0 评论 -
四道Java基础题,转自csdn
原文来于:http://blog.csdn.net/soul_code/article/details/50369947 一、==符的使用首先看一段比较有意思的代码Integer a = 1000,b=1000;Integer c = 100,d=100; public void mRun(final String name){ new Runnable()...原创 2015-12-25 15:07:38 · 69 阅读 · 0 评论 -
for循环的注意事项
犯过很多次这样的错误,不止被一次提醒,好丢人,相信不止我自己有这种错误吧,,,你们写过类似这样的代码吗:int array[] = {4,3,2,1};for( int i=0; i<array.length; i++ ){ System.out.println(array[i]);} 昨天又再一次被“提醒”。。。。上面的代码应该...2015-12-19 08:15:27 · 504 阅读 · 0 评论 -
Map的迭代
Map集合的迭代依赖Map.Entry接口: 一个Map的集合可以依靠Map的entrySet()方法把Map集合变成Map.Entry的set集合: 成为set后就可以利用加强版for等形式进行迭代,迭代时主要用的方法: 例:package com.wang.test;import java.util.HashMap;import java....2015-11-27 22:13:14 · 105 阅读 · 0 评论 -
几种排序算法复习
对排序算法的复习——插入排序、希尔排序、堆排序、归并排序、快速排序、桶式排序、外部排序。 一、最简单的插入排序 插入排序由N-1趟排序组成,对于p=1到N-1趟,插入排序保证从0到位置p上的元素为已排序状态。什么意思呢,比如说我们要对如下一组整数进行插入排序(排序后要从小到大):34, 8, 64, 51, 32, 21 当排序第一...2015-11-20 20:33:16 · 168 阅读 · 0 评论 -
Map键值的注意事项
如果把一个对象作为Map类的键值,一定要确保重写的该对象的equals和hashCode方法,否则会出现通过键值搜索失败的情况,例如,map.get(object)、map.contains(object)等会返回失败的结果 而且,用自己定义的类的对象,即使重写了equals和hashCode方法,作为map类的键值,还是会导致执行小效率低,所以,最好用Java的...2015-11-06 19:44:52 · 333 阅读 · 0 评论 -
JAVA中方法参数的引用传递
“当一个对象被当作参数传递到一个方法”,这就是所谓的按引用传递。 public class User { private String name; public String getName() { return name; } public void setName(String name) { ...2016-08-31 14:10:27 · 340 阅读 · 0 评论 -
注解学习总结
本文总结的注解annotation的创建、使用以及得到注解信息,本文总结的是类上的、方法上的和字段上的注解,创建的工程如下: 一、首先介绍创建注解所用到的元注解(先有个了解即可,可略过)1、@Target表示该注解可以用到什么地方,可能得ElementType参数包括: CONSTRUCTOR构造器的声明 ...2015-08-16 15:03:04 · 119 阅读 · 0 评论 -
Java数组优缺点浅谈
数组是Java语言的基本知识之一,在深入学习Java基础后,我们都知道那些容器,在之后,在我们学习、工作的过程中基本就是使用容器了,很少很使用数组,那么为什么还要有数组呢,我也是今天才遇到这个问题,专门的找资料学习了一下。 数组与其他种类的容器之间的区别有三方面:效率、类型和保存基本类型的能力,当然现在有泛型,保存类型的区别已经不大了。 数组较容...2015-08-13 20:27:37 · 973 阅读 · 0 评论 -
java读取本地文件内容
1、要在F盘下有一个叫test的条形图格式的文件, package test;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;public class ReaderFile { public static void main(String[] args...2015-08-04 16:55:24 · 440 阅读 · 0 评论 -
Java TCP Socket编程模型
1、socket是网络编程的说法,既然是网络编程那么就有服务器端和客户端,首先创建两个类,TCPSocket.java用于当做服务器端,TCPClient.java用于当做客户端,2、首先编写服务器端,在Java中提供java.net.ServerSocket类来当做网络服务器,构造函数需要一个网络接 口,以6666为例,代码如下:ServerSocket ss = new ...2015-08-02 15:02:51 · 159 阅读 · 0 评论 -
Javac编译器的工作过程
javac的任务是将Java源代码语言先转化成JVM能够识别的一种语言,然后由JVM将JVM语言再转化成当前这个机器能够识别的机器语言。 Javac主要有四个模块,分别是词法分析器、语法分析器、语义分析器、代码生成器。 一、词法分析器 当编译器要读取源代码,一个字节为一节地读进来,找出在这些字节中有那些是我们定义...2016-04-23 16:41:44 · 207 阅读 · 0 评论 -
Java中需要编码的场景
一般涉及编码的地方包括IO操作和内存操作,IO操作又分为磁盘IO和网络IO,首先看磁盘IO是如何通过代码实现编码场景的String file = "/home/wang/test.txt"; String charset = "UTF-8"; //写字符转换成字节流 FileOutputStream outputStream = new FileOu...2016-04-17 13:44:05 · 124 阅读 · 0 评论 -
java线程池学习总结
为什么要用线程池?诸如 Web 服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序都面向处理来自某些远程来源的大量短小的任务。请求以某种方式到达服务器,这种方式可能是通过网络协议(例如 HTTP、FTP 或 POP)、通过 JMS 队列或者可能通过轮询数据库。不管请求如何到达,服务器应用程序中经常出现的情况是:单个任务处理的时间很短而请求的数目却是巨大的。构建服务器应用...2017-02-21 10:23:52 · 134 阅读 · 0 评论