- 博客(41)
- 资源 (31)
- 收藏
- 关注
原创 Java TCP 群聊
服务器:TCPServer :import java.io .*;import java.net .*;import java.util.ArrayList;public class TCPServer {//创建一个集合,集合存放客服端的对象 ArrayList arrayListSocket = new ArrayList();
2017-08-31 19:40:40 411
原创 JAVA 点对点聊天
服务器端:UserSeverFrame:import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.eve
2017-08-31 17:28:35 618
原创 Java JFrame
登录注册:import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.*;import javax.swing.*;//去掉默认布局管理器:JFrame jf = new JFrame("窗口");jf.setLayout(nu
2017-08-28 20:16:04 698 1
原创 线程同步ReentrantLock,condition(await,signal)
一.synchronized和ReentrantLock 故事1. 我们前面(二)java 的线程同步(synchronized ,wait,notify)讲了synchronized的同步方法,java 就是这么神奇,这里又有一个同步的方法!当然,长江后浪推前浪,后者肯定比前者是由优越之处的。先看看 synchronized 的一些限制: 1.1 :无法中断正在等候获取一个
2017-08-24 16:25:11 1010
原创 简单的UDP 消息的传递以及URL文件下载
特别注意:int a = s.getBytes().length; 是获取字节数长度,不是字符串长度,否则汉字出现乱码 发送端:import java.io.*;import java.net.*;public class Send {public static void main(String[] args) {try {Data
2017-08-24 15:45:34 373
原创 生产者/消费者问题的多种Java实现方式
生产者/消费者问题的多种Java实现方式实质上,很多后台服务程序并发控制的基本原理都可以归纳为生产者/消费者模式,而这是恰恰是在本科操作系统课堂上老师反复讲解,而我们却视而不见不以为然的。在博文《一种面向作业流(工作流)的轻量级可复用的异步流水开发框架的设计与实现》中将介绍一种生产者/消费者模式的具体应用。生产者消费者问题是研究多线程程序时绕不开的经典问题之一,它描述是有一块缓冲区作为
2017-08-23 21:27:13 328 1
原创 Java中的序列化Seriazable
使用transient修饰不被序列化和反序列化。序列化 ID 问题情境:两个客户端 A 和 B 试图通过网络传递对象数据,A 端将对象 C 序列化为二进制数据再传给 B,B 反序列化得到 C。问题:C 对象的全类路径假设为 com.inout.Test,在 A 和 B 端都有这么一个类文件,功能代码完全一致。也都实现了 Serializable 接口,但是反序列化时总是提示
2017-08-23 20:24:03 1043 1
原创 JAVA多线程之wait/notify
本文主要学习JAVA多线程中的 wait()方法 与 notify()/notifyAll()方法的用法。①wait() 与 notify/notifyAll 方法必须在同步代码块中使用②wait() 与 notify/notifyAll() 的执行过程③中断 调用wait()方法进入等待队列的 线程④notify 通知的顺序不能错⑤多线程中测试某个条件的
2017-08-23 20:15:06 215
原创 java socket 通信
服务器端:import java.io.*;import java.net.ServerSocket;import java.net.Socket;public class Severlet {public static void main(String[] args) {while(true){ServerSocket serverSocket = null;
2017-08-23 16:50:22 214 1
原创 Java线程同步:synchronized锁住的是代码还是对象
在Java中,synchronized关键字是用来控制线程同步的,就是在多线程的环境下,控制synchronized代码段不被多个线程同时执行。synchronized既可以加在一段代码上,也可以加在方法上。关键是,不要认为给方法或者代码段加上synchronized就万事大吉,看下面一段代码:[java] view plain copycl
2017-08-22 16:31:56 195
原创 java 文件夹的copy 以及split的用法
文件夹的复制:import java.io.*;public class Test2 {public static void copyfile(File src, File dest) {BufferedInputStream fi = null;BufferedOutputStream fo = null;try {fi = new BufferedInputSt
2017-08-21 19:53:29 362
原创 JAVA的Collections类中shuffle的用法
import java.util.*; public class ShuffleTest { public static void main(String[] args) { List list = new ArrayList(); for (int i = 0; i 10; i++) list.
2017-08-18 21:12:05 664
转载 Java TreeSet
一、TreeSet定义我们知道TreeMap是一个有序的二叉树,那么同理TreeSet同样也是一个有序的,它的作用是提供有序的Set集合。通过源码我们知道TreeSet基础AbstractSet,实现NavigableSet、Cloneable、Serializable接口。其中AbstractSet提供 Set 接口的骨干实现,从而最大限度地减少了实现此接口所需的工作。Navigable
2017-08-18 08:54:36 225
转载 Java HashSet
一、定义public class HashSetE> extends AbstractSetE> implements SetE>, Cloneable, java.io.Serializable HashSet继承AbstractSet类,实现Set、Cloneable、Serializable接口。其中AbstractSet提供 Set 接口的骨干实现
2017-08-18 08:53:50 189
转载 Java LinkedList
一、概述 LinkedList与ArrayList一样实现List接口,只是ArrayList是List接口的大小可变数组的实现,LinkedList是List接口链表的实现。基于链表实现的方式使得LinkedList在插入和删除时更优于ArrayList,而随机访问则比ArrayList逊色些。 LinkedList实现所有可选的列表操作,并允许所有的元素包括
2017-08-18 08:48:53 188
转载 Java ArrayList
一、ArrayList概述 ArrayList是实现List接口的动态数组,所谓动态就是它的大小是可变的。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。 每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小。默认初始容量为10。随着Arra
2017-08-18 08:47:42 257
转载 java TreeMap
TreeMap的实现是红黑树算法的实现,所以要了解TreeMap就必须对红黑树有一定的了解,其实这篇博文的名字叫做:根据红黑树的算法来分析TreeMap的实现,但是为了与Java提高篇系列博文保持一致还是叫做TreeMap比较好。通过这篇博文你可以获得如下知识点:1、红黑树的基本概念。2、红黑树增加节点、删除节点的实现过程。3、红黑树左旋转、右旋转的复杂过程。4、J
2017-08-18 08:45:49 365
原创 java Hashmap
HashMap 的存储实现当程序试图将多个 key-value 放入 HashMap 中时,以如下代码片段为例:[java] view plain copyHashMap map = new HashMap(); map.put("语文" , 80.0); map.put("数学" , 89.0); map
2017-08-18 08:40:09 238
原创 javaAVL树
什么是AVL树?AVL树,又称为平衡二叉树,它是一种特殊的二叉查找树(Binary Search Tree, BST),其每一个节点的左右子树的高度差不超过1。注意,一个节点的高度是从该节点到叶子节点的最长路径,所以,叶子节点的高度为0,而深度是指一个节点到树根的路径长度,两者是相反的概念。 一棵树的高度等于根节点的高度,而深度等于最大深度的叶子节点的深度,所以一个树的高度和深度是
2017-08-17 20:29:29 461
转载 javaBST
1.二叉查找树简介二叉查找树又名二叉搜索树和二叉排序树。性质如下: 在二叉查找树中:(01) 若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值;(02) 任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值;(03) 任意节点的左、右子树也分别为二叉查找树。(04) 没有键值相等的节点(no duplicate nodes)。
2017-08-17 20:27:51 519
原创 斐波那契数列
题目要求:编写程序在控制台输出斐波那契数列前20项,每输出5个数换行//其一方法:[java] view plain copypublic class Demo2 { // 定义三个变量方法 public static void main(String[] args) { in
2017-08-17 19:37:40 599
原创 Javacollection
泛型:jdk5添加的特性 * 类型参数化中的T只是一个占位符,在创建对象时传递的是哪个类*名就是哪个类型 * 一种编译时检测机制,实际类型并没有增加,定义类时使用表示*泛型 * 泛型边界限制往往用在定义变量和参数时使用,目的是对赋的值一个类型*约束。*使用泛型时没有类型上转情况*?是泛型通配符,表示任意类型,有时候在使用通配符时会做边界限*制,extends是上边界限制
2017-08-17 19:24:26 329
原创 Java异常
异常:编译或运行时发生的异常事件:不同的错误对应不同的异常类型 * Java中程序运行时出错的地方会创建异常对象,会去寻找处理该对象的代码,找到则将异常对象交给相应的代码处理,找不到则退出程序 * Java中对异常分为两种:1.错误(Error);2.Exception Error:系统的严重错误(jvm崩溃,内存错误),Java代码不处理 * Exceptio
2017-08-17 17:58:45 176
转载 经典笔试
1. 下面哪些是Thread类的方法()A start() B run() C exit() D getPriority()答案:ABD解析:看Java API docs吧:http://docs.oracle.com/javase/7/docs/api/,exit()是System类的方法,如System.exit(0)。
2017-08-16 21:03:36 218
原创 经典java题
1.输入一个正数n,输出所有和为n的连续正数序列。 import java.util.Scanner;public class Test {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);//创建键盘输入scanner对象int n = scanner.nextIn
2017-08-16 20:34:57 553 1
原创 Java接口新特性
1、在接口中,可以直接添加静态方法。该静态方法作为接口的类方法,可以直接使用。不需要依托某个实现类。2、在接口中,可以直接添加非抽象的实例方法。在实例方法的申明中,需要增加default关键字修饰,因此这种方法也称为默认方法。他是接口自带的方法。接口被实现后,实例可以直接使用这些默认方法,同时如果对默认方法需要重写时,可以直接重写即可。这两点新特性相对于java8之
2017-08-16 17:00:13 287
原创 Java抽象类不可创建对象,但可以调用静态方法将建一个对象
Java抽象类不可创建对象,但可以调用静态方法将建一个对象,利用多态创建子类对象上转成父类类型。附代码:public abstract class Dog {private int age;private String sex;private String name;public int getAge() {return age;}public
2017-08-16 16:49:12 4645
原创 Java基础22
子类可以继承父类除private以为的所有的成员。构造方法不能被继承。super 关键字的功能:调用父类中声明为 private 的变量。点取已经覆盖了的方法。作为方法名表示父类构造方法。通过 super 调用父类的隐藏变量,必须要在父类中声明 get方法,因为声明为 private 的数据成员对子类是不可见的。在一个构造方法内只能调用一个构造方法。方法覆盖的原
2017-08-11 19:55:24 725
转载 Java字符串(String)
从表面上看,字符串就是双引号之间的数据,例如“微学苑”、“http://www.weixueyuan.net”等。在Java中,可以使用下面的方法定义字符串: String stringName = "string content";例如:String url = "http://www.weixueyuan.net";String webName = "微学苑";
2017-08-11 19:49:13 252
原创 Java StringBuffer与StringBuider
String 的值是不可变的,每次对String的操作都会生成新的String对象,不仅效率低,而且耗费大量内存空间。StringBuffer类和String类一样,也用来表示字符串,但是StringBuffer的内部实现方式和String不同,在进行字符串处理时,不生成新的对象,在内存使用上要优于String。StringBuffer 默认分配16字节长度的缓冲区,当字符串超过该
2017-08-11 19:47:21 200
原创 Java关键字final、static使用
一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,但可以被继承。 fi
2017-08-10 17:58:12 144
原创 java基础(1) 原码反码补码 原码反码补码原码反码补码原码反码补码原码反码补码原码反码补码原码反码补码
1.Java-sun公司设计2.javac-将源程序编译成字节码文件(文件名.class)3.Java-将字节码文件给虚拟机(JVM)解释运行4.JRE(Java运行时环境):虚拟机(JVM),库函数,运行Java必备文件5.JDK:JRE基础上多了编译器等工具。6.IDE(集成开发环境):Eclipse,NetBeans,Myeclipse,Intellij idea7.
2017-08-08 08:04:45 677
原创 Java内部类
为什么要使用内部类?在《Think in java》中有这样一句话:使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。 在我们程序设计中有时候会存在一些使用接口很难解决的问题,这个时候我们可以利用内部类提供的、可以继承多个具体的或者抽象的类的能力来解决这些程序设计问题。可以这样说,接口只是
2017-08-07 15:29:36 202
原创 Java方法的可变参数类型
许多Java新人在看到下面的这段代码的时候,都会问一个问题:dealArray方法里那三个小点点是什么啊?[java] view plaincopypublic class TestVarArgus { public static void dealArray(int... intArray){
2017-08-07 13:02:09 236 1
原创 Java基础
一 数据库 1.常问数据库查询、修改(SQL查询包含筛选查询、聚合查询和链接查询和优化问题,手写SQL语句,例如四个球队比赛,用SQL显示所有比赛组合;举例2:选择重复项,然后去掉重复项;) 数据库里的密码如何加密(md5);(1)数据库的密码加密:单向加密,insert into users (username,password) values (‘mike’,MD5(‘gues
2017-08-05 16:19:01 1022
原创 Java面试题数据结构
136、给出下面的二叉树先序、中序、后序遍历的序列?答:先序序列:ABDEGHCF;中序序列:DBGEHACF;后序序列:DGHEBFCA。补充:二叉树也称为二分树,它是树形结构的一种,其特点是每个结点至多有二棵子树,并且二叉树的子树有左右之分,其次序不能任意颠倒。二叉树的遍历序列按照访问根节点的顺序分为先序(先访问根节点,接下来先序访问左子树,再先序访问右子树)、中序(先
2017-08-05 16:08:50 693
转载 JavaEE题
126、什么是ORM? 答:对象关系映射(Object-Relational Mapping,简称ORM)是一种为了解决程序的面向对象模型与数据库的关系模型互不匹配问题的技术;简单的说,ORM是通过使用描述对象和数据库之间映射的元数据(在Java中可以用XML或者是注解),将程序中的对象自动持久化到关系数据库中或者将关系数据库表中的行转换成Java对象,其本质上就是将数据从一种形式转换到另外一
2017-08-05 16:01:52 1292
原创 Javaweb题
96、阐述Servlet和CGI的区别? 答:Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service()方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于Servlet。补充:Sun Microsystems公司在1996年发布Servlet技术就是为了和CGI进行竞
2017-08-05 15:59:46 780
转载 Java面试题
1、面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 - 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的
2017-08-05 15:55:15 463
原创 java静态代码块 构造代码块 构造方法的执行顺序及注意问题
今天我总结了一下java中静态代码块 构造代码块 构造方法的执行顺序及其注意问题首先要知道静态代码块是随着类的加载而加载,而构造代码块和构造方法都是随着对象的创建而加载当时做了这么一个小案例(想必这个大多数学java的都做过,不知道是否都理解了)class Fu{ static { System.out.println("Fu static co
2017-08-03 20:45:44 1062
hadoop-eclipse-plugin
2017-10-23
hadoop_dll_winutil_2.7.1.zip
2017-10-20
机器学习实战
2017-10-11
python基础教程
2017-10-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人