JAVA基础学习
文章平均质量分 75
sunfengcai
这个作者很懒,什么都没留下…
展开
-
java多线程学习总结
多线程总结:1,进程和线程的概念。|--进程:|--线程:2,jvm中的多线程体现。|--主线程,垃圾回收线程,自定义线程。以及他们运行的代码的位置。3,什么时候使用多线程,多线程的好处是什么?创建线程的目的?|--当需要多部分代码同时执行的时候,可以使用。4,创建线程的两种方式。★★★★★|--继承Thread|--步骤|--实现Runnable|转载 2015-10-17 18:26:29 · 335 阅读 · 0 评论 -
java基础学习笔记——泛型代码详解
普通泛型class Point{ // 此处可以随便写标识符号,T是type的简称 private T var ; // var的类型由T指定,即:由外部指定 public T getVar(){ // 返回值的类型由外部决定 return var ; } public void setVa转载 2015-10-21 15:44:55 · 357 阅读 · 0 评论 -
java基础学习笔记——集合解析
map,set,list,等JAVA中集合解析本文为转帖,转自http://seaizon.javaeye.com/blog/571101在JAVA的util包中有两个所有集合的父接口Collection和Map,它们的父子关系: java.util +Collection 这个接口extends自 --java.lang.Iterable接转载 2015-10-21 15:53:10 · 405 阅读 · 0 评论 -
java基础学习笔记——Map
Map是java中的接口,Map.Entry是Map的一个内部接口。 Map提供了一些常用方法,如keySet()、entrySet()等方法,keySet()方法返回值是Map中key值的集合;entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry。 Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为E转载 2015-10-21 15:51:46 · 283 阅读 · 0 评论 -
JAVA基础学习笔记——Date
JAVA中Date转换大全public static Date getNowDate() { Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateString = formatt转载 2015-10-26 10:00:12 · 364 阅读 · 0 评论 -
java基础学习笔记——system
关于Java中使用的System对象,我们经常使用的是Systme.out.print ,而且也仅仅知道这是一个可以在控制台打印出语句,而没有去深究它的内在实现原理。下面我就详细地介绍System对象。 1.JDK中有如下定义:.The System class contains several useful class fields and methods. It cannot be i转载 2015-10-26 09:53:26 · 499 阅读 · 0 评论 -
java基础学习笔记——基本数据类型对象包装类
Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为外覆类或数据类型类。 包装类均位于java.lang包,包装类和基本数据类型的对应关系如下表所示:/转载 2015-10-19 16:18:52 · 477 阅读 · 0 评论 -
java基础学习笔记——Stringbuffer(1)
StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。 所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。 在转载 2015-10-18 12:04:51 · 327 阅读 · 0 评论 -
java多线程学习笔记(二) ——Runnable
创建线程的第一种方式:继承Thread类。创建线程的第二种方式:实现Runnable接口。1,定义类实现Runnable接口。2,覆盖接口中的run方法,将线程的任务代码封装到run方法中。3,通过Thread类创建线程对象,并将Runnable接口的子类对象作为Thread类的构造函数的参数进行传递。为什么?因为线程的任务都封装在Runnable接口子类对象的run方法中。转载 2015-10-13 12:19:27 · 588 阅读 · 0 评论 -
java多线程学习笔记(一) ——Thread
进程:正在进行中的程序(直译).线程:就是进程中一个负责程序执行的控制单元(执行路径)一个进程中可以多执行路径,称之为多线程。一个进程中至少要有一个线程。开启多个线程是为了同时运行多部分代码。每一个线程都有自己运行的内容。这个内容可以称为线程要执行的任务。多线程好处:解决了多部分同时运行的问题。多线程的弊端:线程太多回到效率的降低。其实应用程序的执行都是cpu在做着转载 2015-10-13 09:48:16 · 535 阅读 · 0 评论 -
java多线程学习笔记(三) ——多线程实例火车票问题+同步synchronized初接触
线程安全问题产生的原因:1,多个线程在操作共享的数据。2,操作共享数据的线程代码有多条。当一个线程在执行操作共享数据的多条代码过程中,其他线程参与了运算。就会导致线程安全问题的产生。 解决思路;就是将多条操作共享数据的线程代码封装起来,当有线程在执行这些代码的时候,其他线程时不可以参与运算的。必须要当前线程把这些代码都执行完毕后,其他线程才可以参与运算。 在转载 2015-10-13 15:42:39 · 1791 阅读 · 0 评论 -
java多线程学习笔记(四) ——线程安全及同步锁问题
线程安全问题产生的原因:1,多个线程在操作共享的数据。2,操作共享数据的线程代码有多条。当一个线程在执行操作共享数据的多条代码过程中,其他线程参与了运算。就会导致线程安全问题的产生。 解决思路;就是将多条操作共享数据的线程代码封装起来,当有线程在执行这些代码的时候,其他线程时不可以参与运算的。必须要当前线程把这些代码都执行完毕后,其他线程才可以参与运算。 在ja原创 2015-10-14 16:06:44 · 1032 阅读 · 0 评论 -
java基础学习笔记——I/O举例
class Demo{ public static void main(String[] args) { File dir = new File("e:\\java1"); //创建要遍历的目标文件夹 FilenameFilter filter = new FilenameFilter(){ //Filter构造时可以接收参数来变换需要保存的e原创 2015-10-29 08:59:31 · 516 阅读 · 0 评论 -
java多线程学习笔记(五) ——死锁与饿汉式懒汉式
死锁:常见情景之一:同步的嵌套。class Ticket implements Runnable{ private int num = 100; Object obj = new Object(); boolean flag = true; public void run() { if(flag) while(true) { synchronized(原创 2015-10-14 16:15:06 · 500 阅读 · 0 评论 -
java基础学习笔记——I/O文件切割与合并
class SplitFileDemo { public static void main(String[] args) { System.out.println("Hello World!"); } public static void splitFile(File file) { FileInputStream fis = new FileInputStream(fil原创 2015-11-03 13:50:25 · 448 阅读 · 0 评论 -
JAVA中的内省
JAVA中的内省为了让程序员们更好的操作Java对象的属性,SUN公司开发了一套API,被业界内称为:内省;内省的出现有利于了对类对象属性的操作,减少了代码的数量。内省访问JavaBean有两种方法: 一、通过Introspector类获得Bean对象的 BeanInfo,然后通过 BeanInfo 来获取属性的描述器( PropertyDescriptor转载 2016-02-29 10:27:30 · 419 阅读 · 0 评论 -
java基础学习笔记——网络TCP/Client&Server
package socketTest;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;public class serverDemo { /** * @pa原创 2015-11-04 21:35:00 · 466 阅读 · 0 评论 -
java基础学习笔记——TCP/客户端递交返回大写
package textChange;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;impo原创 2015-11-05 21:37:19 · 404 阅读 · 0 评论 -
java多线程学习笔记(八) ——线程停止(interrupt)
停止线程:1,stop方法。2,run方法结束。怎么控制线程的任务结束呢?任务中都会有循环结构,只要控制住循环就可以结束任务。控制循环通常就用定义标记来完成。但是如果线程处于了冻结状态,无法读取标记。如何结束呢?可以使用interrupt()方法将线程从冻结状态强制恢复到运行状态中来,让线程具备cpu的执行资格。 当时强制动作会发生了InterruptedExcep原创 2015-10-17 18:21:43 · 548 阅读 · 0 评论 -
java多线程学习(九)——wait 和 sleep 区别、join用法
wait 和 sleep 区别?1,wait可以指定时间也可以不指定。 sleep必须指定时间。2,在同步中时,对cpu的执行权和锁的处理不同。wait:释放执行权,释放锁。sleep:释放执行权,不释放锁。class Demo{ void show() { synchronized(this)// { wait();//t0 t1 t2原创 2015-10-17 18:24:16 · 686 阅读 · 0 评论 -
java多线程学习笔记(七) ——消费者与生产者(LOCK、Condition接口)
生产者,消费者。多生产者,多消费者的问题。if判断标记,只有一次,会导致不该运行的线程运行了。出现了数据错误的情况。while判断标记,解决了线程获取执行权后,是否要运行!notify:只能唤醒一个线程,如果本方唤醒了本方,没有意义。而且while判断标记+notify会导致死锁。notifyAll解决了本方线程一定会唤醒对方线程的问题。class Resource{原创 2015-10-17 14:03:53 · 534 阅读 · 0 评论 -
java多线程学习笔记(六) ——线程间的通信(初接触)
线程间通讯:多个线程在处理同一资源,但是任务却不同。//资源class Resource{ String name; String sex;}//输入class Input implements Runnable{ Resource r ;// Object obj = new Object(); Input(Resource r) { this.r = r原创 2015-10-17 10:04:39 · 430 阅读 · 0 评论 -
java基础学习笔记——collection
package cn.itcast.p3.collection.demo;import java.util.ArrayList;import java.util.Collection;public class CollectionDemo { /** * @param args */ public static void main(String[] args) { Co原创 2015-10-19 20:03:49 · 336 阅读 · 0 评论 -
java基础学习笔记——Iterattor
package cn.itcast.p3.collection.demo;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;public class IteratorDemo { /** * @param args */ public static void m原创 2015-10-19 20:04:22 · 372 阅读 · 0 评论 -
java基础学习笔记——String(1)
String类 1、String对象的初始化由于String对象特别常用,所以在对String对象进行初始化时,Java提供了一种简化的特殊语法,格式如下: String s = “abc”; s = “Java语言”;转载 2015-10-18 12:15:20 · 402 阅读 · 0 评论 -
java基础学习笔记——String(2)
package cn.itcast.p1.string.demo;public class StringConstructorDemo { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub /* * 将字节数组或者字符数组原创 2015-10-19 20:10:18 · 456 阅读 · 0 评论 -
java基础学习笔记——Stringbuffer(2)
package cn.itcast.p2.stringbuffer.demo;public class StringBufferDemo { /** * @param args */ public static void main(String[] args) { /* * StringBuffer:就是字符串缓冲区。 * 用于存储数据的容器。 * 特点:原创 2015-10-19 20:13:55 · 327 阅读 · 0 评论 -
java基础学习笔记——List
package cn.itcast.p4.list.demo;import java.util.ArrayList;import java.util.List;public class ListDemo { /** * @param args */ public static void main(String[] args) { List list = new Arra原创 2015-10-19 20:05:03 · 502 阅读 · 0 评论 -
java基础学习笔记——集合框架
集合类的由来:对象用于封装特有数据,对象多了需要存储,如果对象的个数不确定。就使用集合容器进行存储。集合特点:1,用于存储对象的容器。2,集合的长度是可变的。3,集合中不可以存储基本数据类型值。 集合容器因为内部的数据结构不同,有多种具体容器。不断的向上抽取,就形成了集合框架。框架的顶层Collection接口:Collection的常见方法:1,添加。原创 2015-10-19 19:40:06 · 368 阅读 · 0 评论 -
java基础学习笔记——LinkedList
import java.util.*;public class LinkedListDemo { public static void main(String []args){ LinkedList list = new LinkedList(); list.add("one"); list.add("two"); list.add("three");转载 2015-10-20 10:17:25 · 321 阅读 · 0 评论 -
java基础学习笔记——ArrayList
1、什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和IList接口 灵活的设置数组的大小2、如何使用ArrayList 最简单的例子: ArrayList List = new ArrayList(); for( int i=转载 2015-10-20 10:20:01 · 336 阅读 · 0 评论 -
java基础学习笔记——vector
ArrayList会比Vector快,他是非同步的,如果设计涉及到多线程,还是用Vector比较好一些 import java.util.*;/** * 演示Vector的使用。包括Vector的创建、向Vector中添加元素、从Vector中删除元素、 * 统计Vector中元素的个数和遍历Vector中的元素。 */public class VectorDemo{ pu转载 2015-10-20 10:11:38 · 359 阅读 · 0 评论 -
java基础学习笔记——网络UDP/聊天
package socketTest;import java.net.DatagramSocket;import java.net.SocketException;public class chartDemo { /** * @param args * @throws SocketException */ public static void main(String[原创 2015-11-04 19:47:12 · 499 阅读 · 0 评论 -
编程题一道
2017.04.26摸金校尉通过激光防范到达指定位置:package stackAndQueue;import java.util.Scanner;class Point{ int x; int y; Point(int x, int y){ this.x = x; this.y = y; }}class Line{ Point start; Point原创 2017-04-26 23:04:07 · 388 阅读 · 0 评论