`

Java总结大全

 
阅读更多

           Java总结大全

 1在进行变量定义时候 不要超过其范围。第一字符用单引号字符串用双引号

2如果为数组分配了内存空间及指定了数组的大小 那么其长度就不可改变了

3因为使用字符串常量 直接使用一个String对象的效率 要高于使用new关键字初始化方式所以在程序中建议使用直接初始化方式

 4除非是内部类 否则一般的类不能使用private protected 关键字

5使用this关键字只可以 完成对构造方法的调用 其他的一般的方法不能这样使用

6在类的设计中 一般把类的成员变量 定义为private 方法定义为public 设定set get

6子类覆盖父类的方法时 覆盖方法的返回值 类型是可以是原来返回类型的子类型

7在子类调用父类的构造方法中  使用super 对父类构造方法的调用一定是子类构造方法的第一句

8当把一个对象类型转换成一种类型时  对象类型和新类型  需要在同一个类的结构中 且9类与类之间存在继承关系才可以进行正确转换

10所谓动态绑定 是指只有在程序运行时 才能正确的判断对象的类型

 11动态绑定方法不包括 private static final 因为使用这些关键字 修饰的方法 编译器可以很准确的知道调用那个方法 不需要进行动态绑定

12Packet 必须要放在第一句

13在实际应用中 最好显示的指明类 方法 属性 因为对于一个默认的类来说 其他人可以在14包内加入新的类 不利于程序的安全性  最好使用 public private protected

15使用this来引用成员变量 也仅限于 在构造方法和set方法的隐藏成员变量的时候调用

16Java中静态变量可以通过创建对象来访问 但是一般情况下 使用类明来访问

17静态方法中 不能初始化对象

18判断对象相等 objequals 两个对象的hashcode值一定相等 相反不一定

19不能通过 new thread().start() 方法产生一个线程如果这样做是没有意义的  20thread.run()方法只有方法的声明 没有方法的主题

21出现死锁后 如果想继续运行别的代码 可以使 ctrl +c

 

1. 两种从键盘读取字符的输入方式

AInputStreamReader reader=new InputStreamReader(System.in);

BufferedReader br=new BufferedReader(reader);

try {

    String s=br.readLine();

} catch (IOException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

}

 

BScanner input=new Scanner(System.in);

String s=input.nextint();

2. 多线程的方法实现 (两种)(实现Runnable接口 继承thread

 Public class jiekou implements Runnable{

    Public void run(){}

}

  Public class jicheng extends thread{

  Public void run(){}

  }

3. 实现线程的同步方法(synchronized  lock  wait() notify()

package xianchengtongbu;

//使用wait notify 方法

public class Xianchengtongbu2 {

  public static void main(String []args){

      Staff s=new Staff();

      Thread produceThread=new Thread(new producer(s));

      Thread getThread=new Thread(new Consumer(s));

      produceThread.start();

      getThread.start();

  }

}

//staff店员的意思

class Staff{

    private int i=0;

  //从工厂拿到产品

    public synchronized void addProducer(){

        if(i<20&i>0){

            i++;

            System.out.println("生产者生产地"+i+"产品");

            notifyAll();

        }else{

        try {

            wait();

        } catch (InterruptedException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        }

    }

    //消费者从店里拿到产品

    public synchronized void getProducer(){

        if(i>0){

            i--;

            System.out.println("生产者生产地"+i+"产品");

            notifyAll();

        }else{

        try {

            wait();

        } catch (InterruptedException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        }

    }

   

}

//生产者

class  producer implements Runnable{

    Staff s;

    public producer(Staff s){

        this.s=s;

    }

    public void run(){

        System.out.println("生产者开始生产产品");

        while(true){

            s.addProducer();

        }

       

    }

   

}

//消费者

class Consumer implements Runnable{

    Staff s;

    public Consumer(Staff s){

        this.s=s;

    }

    public void run(){

       

        System.out.println("开始消费产品");

        while(true){

            s.getProducer();

        }

    }

}

 

 

package xianchengtongbu;

 

import java.util.concurrent.locks.Lock;

import java.util.concurrent.locks.ReentrantLock;

 

public class Thread_tongbu {

    int i=100;

    //线程同步方法

 public synchronized void sell1(){

     boolean flag=true;

      if(i>0){

          i--;

          System.out.println(Thread.currentThread().getName());

      }else{

          flag=false;

      }

      try {

        Thread.sleep(15);

    } catch (InterruptedException e) {

        // TODO Auto-generated catch block

        e.printStackTrace();

    }

 }

 //线程同步代码块

 public void sell2(){

     boolean flag=true;

     synchronized(this){

         if(i>0){

              i--;

              System.out.println(Thread.currentThread().getName());

          }else{

              flag=false;

          }

          try {

            Thread.sleep(15);

        } catch (InterruptedException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

     }

 }

 //lock 同步方法

 

  public void sell3(){

      Lock lock =new ReentrantLock();

      boolean flag=true;

      lock.lock();

      if(i>0){

          i--;

          System.out.println(Thread.currentThread().getName());

      }else{

          flag=false;

      }

      lock.unlock();

      try {

            Thread.sleep(15);

        } catch (InterruptedException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

  }

 

  

}

4.网络编程实例:

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.net.ServerSocket;

import java.net.Socket;

import java.net.UnknownHostException;

 

public class Music_copy {

   

  public void send(){

    try {

        Socket s=new Socket("localhost",3434);

        BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));

        bw.write("你好");

        bw.close();

    } catch (UnknownHostException e) {

        // TODO Auto-generated catch block

        e.printStackTrace();

    } catch (IOException e) {

        // TODO Auto-generated catch block

        e.printStackTrace();

    } 

   

  }

  public void service(){

      try {

        ServerSocket s=new ServerSocket(3434);

        Socket s1=s.accept();

        BufferedReader br=new  BufferedReader(new InputStreamReader(s1.getInputStream()));

        String a="";

        a=br.readLine();

        System.out.println(a);

        s1.close();

    } catch (IOException e) {

        // TODO Auto-generated catch block

        e.printStackTrace();

    }

     

  }

}

 

 

4. 实现排序的几种排序的方法(基于集合 数组)

分享到:
评论

相关推荐

    java总结大全--包括所有java基础知识点

    Java基础知识点总结 Java是一种广泛应用的编程语言,掌握Java基础知识点对于编程人员非常重要。本节将对Java基础知识点进行总结,涵盖变量、数据类型、运算符、控制流程、方法、数组、内部类、继承、多态、接口、...

    java总结大全--包括所有java基础知识点.doc

    java总结大全--包括所有java基础知识点.doc

    java基础总结大全(笔记).pdf

    Java基础总结大全涵盖了Java编程语言的核心概念,从JVM、JRE和JDK的区别,到环境变量的设置,再到变量的定义和类型转换,深入浅出地讲解了Java的基础知识。 1. JVM、JRE和JDK: - JVM(Java Virtual Machine)是...

    java基础总结大全

    【Java基础总结大全】 Java是世界上最流行的编程语言之一,其跨平台特性主要依赖于Java虚拟机(JVM)。JVM是Java的核心组成部分,它解析并执行编译后的Java字节码,确保Java程序可以在任何支持JVM的操作系统上运行...

    java程序员总结报告

    【Java程序员年终总结】 作为一名Java程序员,我在2010年的经历让我深刻理解到学习的重要性。从初入职场的新鲜人,到能在公司独立完成项目的开发者,这段历程充满了挑战和成长。2010年,我有幸加入北京联合兴辰公司...

    16.java总结.zip

    16.java总结.zip16.java总结.zip16.java总结.zip16.java总结.zip16.java总结.zip16.java总结.zip16.java总结.zip16.java总结.zip16.java总结.zip16.java总结.zip16.java总结.zip16.java总结.zip16.java总结.zip16....

    java经典问题总结java经典问题总结

    java经典问题总结java经典问题总结java经典问题总结java经典问题总结java经典问题总结java经典问题总结java经典问题总结java经典问题总结java经典问题总结java经典问题总结java经典问题总结java经典问题总结java经典...

    Java后端核心知识总结700页

    Java后端核心知识总结:JVM篇 Java后端核心知识总结:并发编程篇 Java后端核心知识总结:MySQL篇 Java后端核心知识总结:Redis Java后端核心知识总结:RabbitMQ Java后端核心知识总结:Kafak Java后端核心知识总结:...

    Java详细总结(精辟版++)

    Java 详细总结(精辟版++) Java 概述 Java 是一种面向对象的编程语言,主要应用于桌面程序、控制台程序、企业级开发和嵌入式开发等领域。Java 分为三个主要分类:Java SE、Java EE 和 Java ME。Java SE 主要用于...

    java基础总结资料

    "java基础总结资料"涵盖了Java语言的核心概念,是学习和复习Java基础知识的重要资源。以下是一些主要的知识点: 1. **Java语法基础**:包括变量声明、数据类型(基本类型和引用类型)、运算符、流程控制(如if语句...

    java 技术总结.--java 技术

    这篇“Java技术总结”将深入探讨Java的核心概念、语法特性、开发工具以及相关框架,旨在为学习者提供一个全面且深入的Java知识体系。 一、Java语言基础 Java是一种面向对象的编程语言,由Sun Microsystems(现已被...

    JavaIO总结

    有关Java输入输出流的总结有关Java输入输出流的总结有关Java输入输出流的总结

    java学习资料总结.zip

    java学习java学习资料总结.zipjava学习资料总结.zipjava学习资料总结.zipjava学习资料总结.zipjava学习资料总结.zipjava学习资料总结.zipjava学习资料总结.zipjava学习资料总结.zipjava学习资料总结.zipjava学习资料...

    java基础总结大全.txt

    java基础总结大全.txt

    Java基础总结大全

    在"Java基础总结大全"中,我们将会深入探讨Java语言的核心概念和关键特性,帮助初学者建立坚实的Java编程基础。 一、Java语言基础 1. 变量与数据类型:Java提供了基本数据类型(如int、char、float等)和引用数据...

    java基础总结大全.docx

    java基础总结大全.docx

Global site tag (gtag.js) - Google Analytics