Java

Java内存模型的8个操作步骤:
lock,unlock,read,load,use,assign(赋值),store(存储),write

重写equals

    @Override
    public int hashCode() {
        return new HashCodeBuilder().append(name).append(code).toHashCode();
    }

    @Override
    public boolean equals(final Object other) {
        if (!(other instanceof WlCompany))
            return false;
        WlCompany castOther = (WlCompany) other;
        return new EqualsBuilder().append(name, castOther.getName()).append(code, castOther.getCode()).isEquals();
    }

输入流:FileInputStream 输出流:FileOutputStream
字节流:InputStream,OutputStream
字符流:InputStreamReader_BufferedReader,BufferedWriter

FileIntputStream fin = new FileInputStream("d:/a.txt");
FileOutputStream out = new FileOutputStream("d:/b.txt");
byte[] buff = new byte[256];
int len = 0;
while((len = fin.read(buff)) > 0 ){
        out.write(buff,0,len);
}
fin.close();
out.close();

运算符优先级

反射

package
 Reflect;

class
 Demo{ 
//other codes...
}

 
class hello{
public static void main(String[] args) {     
Class<?> demo1=null;       
Class<?> demo2=null;      
Class<?> demo3=null;
        
try
{            
//一般尽量采用这种形式
            
demo1=Class.forName("Reflect.Demo");
        
}
catch
(Exception e){           
e.printStackTrace();       
}
        
demo2=new Demo().getClass();
        
demo3=Demo.class;        
        
System.out.println("类名称   "+demo1.getName());
        
System.out.println("类名称   "+demo2.getName());
        
System.out.println("类名称   "+demo3.getName());       
   
}

}

【运行结果】:

类名称 Reflect.Demo

类名称 Reflect.Demo

类名称 Reflect.Demo

用TCP通信模型创建一个WEB服务器

package test;

import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class WebServer {
    public static void main(String[] args) throws IOException{
        //用端口号创建一个ServerSocket对象,监听Web的端口80
        ServerSocket ss = new ServerSocket(80);
        //开始循环监听来自客户端的请求
        Socket s = null;
        while ((s = ss.accept()) != null) {
            new HTTPThread(s).start();
        }
        ss.close();
    }

}

class HTTPThread extends Thread{
    private Socket socket;
    public HTTPThread(Socket socket){
        super();
        this.socket = socket;
    }
    
    public void run(){
        try {
            OutputStream os = socket.getOutputStream();//获得输出流
            PrintWriter pw = new PrintWriter(os);
            //往输出流写出当前时间
            pw.println("<html>");           
            pw.println("<body>");           
            pw.println("hello world!");         
            pw.println("</body>");          
            pw.println("</html>");  
            pw.flush();
            socket.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

使用java访问Web站点

    URL url = new URL("http://www.jianshu.com/users/cb1ba0e78b56/latest_articles");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.connect();
        //获取响应信息的头部信息
        Map<String, List<String>> header = conn.getHeaderFields();
        //获取响应内容
        BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
        br.readLine();
        //...
        conn.disconnect();
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home...
    光剑书架上的书阅读 3,918评论 2 8
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,742评论 18 399
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 7,136评论 0 62
  • 一、流的概念和作用。 流是一种有顺序的,有起点和终点的字节集合,是对数据传输的总成或抽象。即数据在两设备之间的传输...
    布鲁斯不吐丝阅读 10,085评论 2 95
  • 在经过一次没有准备的面试后,发现自己虽然写了两年的android代码,基础知识却忘的差不多了。这是程序员的大忌,没...
    猿来如痴阅读 2,866评论 3 10