
javaAndAndroid
tjoven
这个作者很懒,什么都没留下…
展开
-
String 两种定义方法的区别
String s2=new String("123");//编译时先去字符串常量池检查,是否存"123",如果不存在,则在常量池中开辟内存空间存放"123";如果存在,则不用重新开辟空间。然后在堆中开辟空间存放new出来的String实例,在栈中开辟空间命名s1,存放堆中String的内存地址,这个过程中将引用s2指向new出来的String实例String s1="123";//先去原创 2016-09-02 09:24:03 · 3617 阅读 · 0 评论 -
BlockingQueue使用说明
转载:BlockingQueue在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。 认识BlockingQueue阻塞队列,顾名思义,首先它是一个队列,而一个队列转载 2017-07-10 19:55:49 · 231 阅读 · 0 评论 -
PriorityQueue使用
转载 : PriorityQueue详解 深入理解Java PriorityQueue 最初的起因是我阅读文档不仔细,使用PriorityQueue出现了问题。我刚开始只是把它当作一个一般的FIFO实现来使用,结果发现poll()的结果跟我想象的不一样,后来才发现,PriorityQueue会对入队的元素进行排序,所以在队列顶端的总是最小的元素。(并非所有元素排序)有趣的是,我在仔细阅读文档以转载 2017-07-12 20:43:55 · 326 阅读 · 0 评论 -
android 进程和线程的区别,以及系统的进程的基本知识
进程是系统进行资源分配的独立单元设计思想:为了允许多个程序同时在内存中运行特点进程是程序的一次执行过程。若程序执行两次甚至多次,则需要两个甚至多个进程。进程是是正在运行程序的抽象。它代表运行的CPU,也称进程是对CPU的抽象。(虚拟技术的支持,将一个CPU变幻为多个虚拟的CPU)系统资源(如内存、文件)以进程为单位分配。操作系统为每个进程分配了独立的地址空间操作系统通过“调度”把控制权交原创 2017-09-17 15:07:46 · 4501 阅读 · 0 评论 -
数组遍历 和 迭代器遍历的区别
循环数组时候如果要对数组进行add、remove操作,采用 迭代器的遍历,list的遍历通常有三种方式:1,普通的数组遍历 for (int i = 0; i < args.length; i++) { }2,加强型数组遍历for (String string : args) { }3,迭代器遍历while (it.hasNext()) { type type =原创 2017-07-24 19:19:38 · 3144 阅读 · 1 评论 -
java 调用bat文件
执行桌面的aa.bat文件; bat文件 是window下的批处理文件,文件里面有一些要执行的命令; 其实就是,java调起cmd,通过cmd来批量执行bat中的命令,实现自动化cmd /c dir 是执行完dir命令后关闭命令窗口。cmd /k dir 是执行完dir命令后不关闭命令窗口。cmd /c start dir 会打开一个新窗口后执行dir指令,原窗口会关闭。cmd /k start原创 2017-07-18 09:26:34 · 4720 阅读 · 0 评论 -
文件夹路径
不同的系统文件夹路径原创 2017-06-28 21:02:18 · 410 阅读 · 0 评论 -
线程池 ExecutorService的使用
感谢: http://cuisuqiang.iteye.com/blog/2019372 ExecutorService是线程池的一个服务,可以随时关闭线程池,是继承Executor的。Executors 是个工厂类,专门创建各种线程池 Java通过Executors提供四种线程池,分别为:1, newCachedThreadPool创原创 2016-09-03 10:22:52 · 325 阅读 · 0 评论 -
枚举 举例
枚举类型 常用于状态的判断 ,和switch case 搭配public enum WorkStatus { WORK_EXCHANGE(1),WORK_GO_HOME(2),WORK_TEMP_TEST(3),WORK_OFF(4); private int value; WorkStatus(int value){ this.value=value; } public原创 2016-10-12 08:43:30 · 259 阅读 · 0 评论 -
自定义控件 AttributeSet
大概的步骤是这样的 1.我们的自定义控件和其他的控件一样,应该写成一个类,而这个类的属性是是有自己来决定的. 2.我们要在res/values目录下建立一个attrs.xml的文件,并在此文件中增加对控件的属性的定义. 3.使用AttributeSet来完成控件类的构造函数,并在构造函数中将自定义控件类中变量与attrs.xml中的属性连接起来. 4.在自定原创 2016-09-06 18:52:59 · 2264 阅读 · 0 评论 -
return 和 break的区别
return是返回的意思,就是跳出当前执行的方法;break是结束当前的循环,但是循环体后面的部分还是会执行给你个简单的例子public void a(){ int i=0; while(true){ if(i<10){ i++; }else{ return; } }system.out.print("haha");转载 2014-12-04 15:57:58 · 417 阅读 · 0 评论 -
TexView的理解
设置颜色TextView有三种方法1,在布局,代码setTextColor设置2,使用HTML标签"Hello"3,SpannableStringBuilder builder=new SpannableStringBuilder(string); builder.setSpan(new ForegroundColorSpan(Color.BLACK), 0, 3, Spann转载 2015-04-11 00:42:30 · 425 阅读 · 0 评论 -
BitmapFactory的使用获取Bitmap
1,获取res里面的资源图片Bitmap bitmap=BitmapFactory .decodeResource(getResources(), R.drawable.ic_launcher); new ImageView(this).setImageBitmap(bitmap);2,获取asset里面的资源图片原创 2016-08-26 13:45:59 · 872 阅读 · 0 评论 -
TabHost使用
layout中TabHost、FrameLayout、TabWidget联合使用。其中FrameLayout android:id="@android:id/tabcontent"、 TabWidget android:id="@android:id/tabs"代码中:// 如果没有继承TabActivity时,通过该种方法加载启动tabHost tabHost.s原创 2016-08-26 14:30:00 · 378 阅读 · 0 评论 -
sycchronized 同步锁
感谢 java synchronized详解Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。原创 2016-09-01 09:48:23 · 830 阅读 · 0 评论 -
Java I/O流 简单实现
package com.tjove.main;import java.io.BufferedReader;import java.io.ByteArrayOutputStream;import java.io.CharArrayReader;import java.io.CharArrayWriter;import java.io.FileInputStream;import jav原创 2016-09-01 16:27:16 · 623 阅读 · 0 评论 -
equals()、hashCode()、toString()
直接上代码:package com.tjove.main;import java.util.HashMap;public class EqualsDemo { User user=new User(10, "tian"); public static void main(String[] args) { EqualsDemo demo=new EqualsDemo();原创 2016-09-01 20:42:47 · 244 阅读 · 0 评论 -
List中remove数据
List中remove数据的正确使用方法 private void removeDuplication(List<Integer> data){ if(data == null || data.size()<=0){ return; } Iterator<Integer> it = data.iterator(); whi...原创 2018-11-06 19:36:49 · 1108 阅读 · 0 评论