Java 8/25
来源:互联网 发布:小米盒子视频软件 编辑:程序博客网 时间:2024/06/14 22:04
Java
1.字符串具有长度不可改变的特性:
对字符串进行添加,删除,替换时,不会改变字符串本身,而是产生一个新的字符串对象。StringBuffer会在缓冲区中开辟一个空间,当对StringBuffer的内容作连接,替换,删除等操作时,不会产生新对象。
如果你对字符串的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要使用String,那么使用StringBuffer的toString方法即可。
StringBuffer sb =new StringBuffer("adc");
sb.append("***");
System.out.println(sb.toString());
append();连接字符串
delete(1,3);删除指定范围的字符,包含起始字符,但不包含结束字符
sb.insert(1, "&&&");//在指定位置插入字符串
System.out.println(sb);
2.StringBuilder是线程不安全的,StringBuffer是线程安全的。
性能:StringBuilder>StringBuffer>String
3.线程
单任务处理:一个任务执行完毕才能执行下一个任务
多任务处理:在一个任务没有执行完时,又在执行另一个任务。几个任务同时执行。
a.基于进程
b.基于线程
进程:是指一种“自包容”的运行程序,由操作系统直接管理,直接运行,有自己的地址空间,每个进程一开启都会消耗内存。(基于进程的特点是允许计算机运行两个或更多的程序)
线程:是进程内部单一的顺序控制流。一个进程拥有多个线程。多个线程共享一个进程的内存空间。(线程是最小的处理单位)
主线程:main方法一运行,就产生了主线程。
主线程特点: a.最先开始
b.最后结束
c.产生其他子线程
d.回收资源
调用start()和调用run()的区别:
调用run()是普通方法的调用,而调用start()表示在主线程基础上产生一个新的子线程,子线程和主线程会交替执行。
创建线程的方式:
1.继承Thread类,重写run();
2.实现Runnable接口,实现run()
相比而言,使用第二种方式更好。类只能单根继承,如果一个类继承了别的类,就不能再继承Thread。但接口可以多实现。
4.
a.线程优先级
当一个或多个线程,同时处于就绪状态,优先级高的线程,会优先的到执行。优先级一共十级,数字越大,优先级越高,默认为五级。通过setPriority(int a)改变线程优先级。
b.线程同步
当两个或两个以上的线程同时访问同一个资源时,为了保护资源的数据安全,只允许同一时间一个线程对该资源进行访问。
synahronized同步关键字,当该关键词修饰方法时,该方法叫同步方法。同步方法意味着,该方法同一时间只允许一个线程访问。
同步造成的后果:
a.数据安全
b.效率低下
0 0
- Java 8/25
- JAVA | 25
- java -8
- Java 8
- Java 8
- Java 8
- Java 8
- Java 8
- JAVA | 8
- Java 8: java.time.DayOfWeek
- Java 8: java.time.Month
- java基础(25)--java annotation详解
- java基础总结25-java网络编程
- java学习8---Java 图形界面编程
- Java 8里面的java.util.Random
- [Java 8 Lambda] java.util.stream 简介
- java实验8-Java输入输出流
- java实验8-Java输入输出流
- POJ 2104 K-th Number
- java中的多生产者-消费者问题学习
- Mysql专题一 : 引擎
- webview的具体设置与使用
- android横竖全屏设置
- Java 8/25
- 【HDU4072】【线段树】【确定上下界】
- stl::string的引用计数
- 用UICollectionView实现瀑布流
- linux时间和定时脚本
- IP地址、子网掩码与划分方法
- jst中,if的判断条件
- Android开发之如何保证Service不被杀掉(broadcast+system/app)
- 我的git笔记