java基础
android_xiaogang
这个作者很懒,什么都没留下…
展开
-
java中的Hashmap与LinkedHashMap总结
本文主要针对map中的hashmap和linkhashmap学习和总结1、map1、hashmap实例Map<String, String> map = new HashMap<String, String>(); map.put("张", "a"); //这个元素将不会添加到map中;被map.put("王", "b")覆盖 map.put("王",原创 2015-10-14 16:01:30 · 4862 阅读 · 1 评论 -
Java RSA
在数据传递过程中,一些非常重要的信息必须经过加密处理,防止其他人获取或者篡改信息。这就有了数字签名,数字签名处理的问题主要是两点 1、发送信息的人是真实确定的。 2、发送的信息是加密的且没有经过篡改的。 数字签名:保证数据发送人的正解性和发送内容没有经过篡改 数字摘要:发送的信息不是明文,别人获取到也难以解读信息。1、数字签名数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字原创 2017-11-05 00:00:12 · 445 阅读 · 0 评论 -
Rxjava(2.Schedulers调度器)
1、Schedulers调度器Schedulers将用简单的方式创建多线程。对于android移动端来说,做耗时操作只能在子线程中,返回结果后刷新UI又得切换到主线程中。很多时候我们需要new Thread(),然后用Handler进行请求后的回调,或者借助Asynctask类。这样代码在一个类中这样写可能不多,但对于android来说,每个界面几乎都要请求网络,刷新UI。因此这样的工作一来增加的代原创 2017-02-22 15:22:09 · 2772 阅读 · 1 评论 -
java内存区域与内存异常(jvm学习)
深入学习java虚拟机笔记java虚拟机运行时数据区域java虚拟机在执行java程序的时候,会把它所管理的内存区域划分成若干不同的数据区域。这些区域有不同的用途,和创建销毁时间,有的区域随着进程的启动而存在,有些区域依赖用户线程的启动和结束而建立和销毁。 java虚拟机所管理的内存将会包括以下几个运行时数据区域:程序计数器java虚拟机栈本地方法栈java堆方法区1、程序计数器程序计原创 2016-12-23 23:31:34 · 456 阅读 · 0 评论 -
java中面向对象
1、java面向对象java是一门面向对象的语言,在面向对象的世界中,把事务看成对象,面向对象的做法确实是把属性和功能封装起来,但是其核心是归类和抽象。把相关的属性和功能集中起来,把可以分离的部分隔绝开来,从而把复杂的业务逻辑切割成互相之间可以相对独立的部分,降低开发的难度。主要从下面几个方面理解: 1、理解类,接口,方法,构造器 2、理解修符:public,protected,private原创 2016-11-26 23:08:25 · 699 阅读 · 0 评论 -
线程和线程池
这篇博客中简单介绍了下线程和线程池,今天主要 从示例上更加了解线程和线程池的工作 http://blog.csdn.net/androidxiaogang/article/details/49682885 文章为自己搜索总结,加上自己的一点看法,如果有误,欢迎斧正。1、进程,线程,多线程从普通PC应用上来讲: 开个QQ,开了一个进程,在QQ的这个进程里,发送消息或者下载文件之类的,这就是打了线原创 2016-11-23 18:31:19 · 564 阅读 · 0 评论 -
java中数组
1、数组是一种引用类型的变量1、java中的数组是用于存放一系列相同类型数组的(即可以存放基本数组类型,也可以存放引用用类型,只要类型相同就可以)2、数组初始化后,在内存中的大小已经确定,长度不可以改变,即使把数组中的数据移除,数组的大小,仍然不会改变,在内存中的大小依旧不变。3、数组的初始化是指为数组分配内存空间,并这每个元素赋初始值。比如int数组默认0,引用类型String(默认值null)。原创 2016-11-22 18:00:00 · 571 阅读 · 0 评论 -
java中的集合
1、Collection和Map数组:定长 集合:不定长 由于数组的缺陷或者不适应一些需求,因此java提供集合来方便我们保存一些不定长的数据。这样就派生出Collection和Map接口Collection示意图2、ArrayList分析ArrayList底层是数组实现的,下面主要分析它是如何扩容构造方法 public ArrayList(int initialCapacity) {原创 2016-08-22 22:58:52 · 1089 阅读 · 0 评论 -
Map与数据结构
上篇中介绍了Collection中ArrayList和LinkedList和在数据结构中的分析。但在,由于Collection是无论是基于数组的ArrayList还是基于链表的LinkedList它都没有办法保存有关系的数据,比如一个人的姓名—身份证,这样有关系的数据。因此就有了Map接口。1、Map介绍Map用于保存具有映射关系的数据,因此Map集合中保存着两种值,一组用于保存key,另一组用来保原创 2016-08-23 18:05:32 · 10295 阅读 · 0 评论 -
内存泄露与内存溢出
1、内存泄露(Memory Leak)内存泄露是指我们在使用动态存储时分配的空间,在使用后没有释放,这样导致内存单元没有被回收利用,这就是内存泄露。 在java中因为动态创建的对象是保存在堆中的,因此指的是堆内存泄露。内存泄露在不严重的情况下不容易察觉,但在严重的情况下会导致导常产生:Out of Memory(内存溢出)在java中内存泄露的场景:1、静态集合类引起内存泄露Static Ve原创 2016-08-30 22:03:01 · 850 阅读 · 0 评论 -
java中的进程,线程,线程池总结
1、线程与进程进程狭义上讲:正在执行的程序,由线程组成,可包含多个线程在运行。 广义上讲:进程是一个具有一定独立功能的程序有关于某个数据集合的一次运行的活动。它可以申请或者拥有系统资源,是一个动态的概念。 进程的概念主要两点:1.进程是一个实体,每一个进程都有自己的地址空间,一般情况下包括文本区域,数据区和堆栈。 线程为进程中执行的程序片段。 一个线程由线程ID,当前指令针,寄存器和原创 2015-11-06 14:45:14 · 4044 阅读 · 0 评论 -
Java反射
1、Java中的反射机制2、Class对象要想了解反射,首先得看Class Class就是类的类型,比说字符串类型是String,整形类型就是Integer. 获取类的类型的三种方式: 首先建立Beanpackage com.example.refelectTest;public class Book { private int id; private String name;原创 2016-06-01 15:56:20 · 506 阅读 · 0 评论 -
Java中的注解
1、Java中的注解注解是Java 1.5引入的,目前已被广泛应用于各种Java框架,如Hibernate,Jersey,Spring。注解相当于是一种嵌入在程序中的元数据,可以使用注解解析工具或编译器对其进行解析,也可以指定注解在编译期或运行期有效。http://www.importnew.com/10294.html这篇文章中对注解描述比较深入 注解(Annotation),也叫元数据。一原创 2016-05-30 16:49:20 · 547 阅读 · 0 评论 -
Java中自定义注解
1、自定义注解定义新的Annotation类型使用@interface关键字修饰,与接口非常相似。 一下是一个简单的注解package com.example.test;public @interface Test {}定义了Annotation之后,就可以在任何程序的任何地方使用Annotation,使用Annotation的语法类似于public,final这样的修改符。Annotation可原创 2016-05-31 21:33:56 · 472 阅读 · 0 评论 -
java中的String,StringBuffer,StringBuilder
1、关于String类:1、string的本质: 通过String的源代码能学到很多知识。String类是一个常量,一旦创建后就不能改变。如果想要改变可以用String buffers的相关操作。 String的本质是由char字符组成的字符数组; 在注释中这样写: String str =”abc”; 相于: char data[]={‘a’,’b’,’c’}; String str原创 2015-12-29 20:17:14 · 595 阅读 · 0 评论 -
java中的堆,栈总结
1、Java在编译和运行时期java通过编译产生的字节码文件,与平台无关。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。java在编译和运行时: 在编译时期:由java错码生成.class字节码文件。 在运行时期:由类加载器加载到jvm中,这时候程序为java程序分配内存空间。比如变量,方法,对象,返回值等。jvm把这些数原创 2015-12-14 20:20:50 · 661 阅读 · 0 评论 -
JAVA I/0流
I0流体系JAVA中的I/O流就是对文件的读写操作。根据传输的数据单元不同,分为了字节流与字符流,我们都知道,计算机上传输所有的东西底层都是二进制的,以比特为单位,其中每一bit其实都代码0或1,1Byte=8bit;在西方国家,一般使用的26个英文字母加上符号之类的也就100多个,因此用8bit比较合适(0-127,比如说A在ASCII中代表的数字是65,这里所说的编码格式主要是UNICODE),原创 2015-09-03 23:36:30 · 1272 阅读 · 0 评论 -
多线程
1、多线程比单线程快吗 大一般情况下,多线程是比单线程快的。但不是一定 在单核cpu的情况下,如果做的工作是cpu密集型的,开多个线程,反而有可能比线程要慢,线程间的切换是需要消耗资源和时间的。 但是,大部分情况下,我们做的工作是IO密集型的,消耗的大部资源在IO上,因此CPU还是处于空闲状态,这时候,利用多线程,可以充分的利用资源 举个例子: 用挖掘机来挖...原创 2018-06-04 15:53:09 · 263 阅读 · 0 评论