8-2高级基础总结 多线程,网络编程,Java基础补充

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了8-2高级基础总结 多线程,网络编程,Java基础补充相关的知识,希望对你有一定的参考价值。

一个程序在运行的过程中就产生一个进程,一个进程有可能会使用到一个到多个线程,而Java中经常会使用到多线程,比如debug.每一次调用方法都会使用到多线程.Java中可以用Thread 的子类来创建一个线程,然后子类里面的run方法来执行我们所要编程的代码.也可以直接在匿名子类中创建并override run方法.

synchronized同步锁机制.一个对象只有一把锁,同一时刻只能一个线程持有这把锁.  

非静态同步方法申请的锁是类的当前对象的锁,静态同步方法申请的锁是类的Class对象的锁。同步方法执行完后即向系统归还锁//

所有需要同步的线程必须都申请同一个对象的锁,当申请不同的锁或者有的线程没有使用synchronized时,同步锁机制就会失效.//

wait(); notify();必须和synchronized 同时使用.

IP/一个计算机对应一个IP地址,可以在网络连接中找到对应的地址. 域名:localhost//代表本地.每个域名对应一个IP地址.域名相对IP好记.

端口/TCP协议/socket编程/客户端,服务端,使用socket的步骤 1)建立socket连接 2)获取socket输入输出流.3)使用IO流进行交换通信,4)关闭IO流关闭socket连接

UDP连接.要使用         DatagramSocket(端口1)来创建send端.  然后使用DatagramPacket(byte[],byte[].length,IP地址,端口号2)    send(packet);

          DatagramSocket(端口与send端对应.). 然后使用DatagramPacket(byte[],byte[].length)/.length为数据的真是长度=packet.getLength()//  receive(packet);

 

二进制 逢2进1.   0/1/10/11/100/101/110/111/1000/1001/1010     十进制2的N次方可以表示为2后面有N个0 // 2的2次方为4=  100      2的3次方为8 =1000    ...

字符编码 asc 对应一个byte. 包括字母a97 A 65 常用为UTF-8.GB-2312 GBK等编码.

JVM  

加载的类和方法的信息都在方法区. 常量池里面放的是Integer.Byte.Short等基本类型包装类的对象.以及""出现的字符串.

每次new对象的时候就会在堆内存中分配给这个对象一个首地址. 每次使用方法的时候则在栈内存开启部分内存来给他使用.方法中的变量的指向和使用. 当方法结束时,栈内存也会随时关闭.

JVM会使用一个单独的线程不定时的执行垃圾回收,垃圾回收器一般从若干个根对象开始遍历并标记遍历到的对象,那些最终也没被标记的对象就会被垃圾回收器回收

 开发人员也可以使用System.gc();方法“催促”垃圾回收器进行回收,但不能保证立即回收.

 

递归方法 :两个必要的方法 1)如何使用方法来调用自己. 2)如何返回.--什么时候不能调用自己避免一直循环下去.

 

类路径:Class.class.getClassLoader()//类加载器..getResource(String name);  url.getFile();直接getResource则/开头 StringName.

 

 

 

 

 

以上是关于8-2高级基础总结 多线程,网络编程,Java基础补充的主要内容,如果未能解决你的问题,请参考以下文章

互联网架构多线程并发编程高级教程(上)

互联网架构多线程并发编程高级教程(下)

Java基础第八天听课总结--多线程&Thread

阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第3节 线程同步机制_3_线程安全问题产生的原理

Java自用高级编程-1.多线程

Java基础16:Java多线程基础最全总结