java
小小巴
这个作者很懒,什么都没留下…
展开
-
关于编程的类型大小
这几天遇到一个从服务器端传回的是byte的数据,一共8个byte,一共要将64个bit分别提取出来,然后按照不同的大小的bit在转换为int,以前也是这方面的知识很薄弱,也算是重新学习了一下这个东西。在java中,byte(字节)一个字节包含8个bit,bit又名“比特”,一个bit代表一个0或者1,所以一个byte就可以表示8位。byte是1个字节,也就是8位 最大的应该是0111 1111,因原创 2017-09-05 20:22:15 · 339 阅读 · 0 评论 -
java对象和变量踩坑集合
java对象和变量static修饰符由static修饰的变量称为静态变量或者类变量,当类被初始化时候就会被创建。这里通过一个例子来说明他的特点。public class Test { int i=j+1; //非法前向引用 int j=2;}当我们编写如上的代码时候,编译器会提示非法的前向引用,是因为i被初始化的时候还找不到j的值,但是我们将j改为st原创 2018-01-09 14:57:54 · 327 阅读 · 0 评论 -
Java 泛型解析
Java 泛型解析在Java中,泛型是通过不对list进行类型的检查,我们可以将任意的Object类型存入list中,当我们需要使用到的时候需要对其进行转换,相当的麻烦。List list=new ArrayList(); list.add("123"); list.add("234"); list.add(2);通过泛型来原创 2018-01-17 20:39:21 · 308 阅读 · 0 评论 -
java基础数组
java基础数组最近开始补java基础,记录一下。数组是静态的 数组是有初始值的 数组中对象存在于堆中,栈中仅仅存放着其对象的引用 java 中数组的表达方式 数组是静态的数组必须经过初始化才能使用,一旦被初始化,长度就确定了,所以是静态的,虽然我们平时使用的集合LinkedList,ArrayList都是动态的,但是他们都是通过内部封装实现了动态的操作,ja原创 2018-01-08 21:40:07 · 222 阅读 · 0 评论 -
Java异常机制
Java 异常机制说到Java异常,其实一直以来都没有认真的了解一下,都是在需要的时候进行try catch进行捕获,同时输出其信息,对于自定义异常,和异常的一些细节都没有详细的了解,这里来进行一篇总结。Java的异常综述在Java中,将不正常的情况分为Exception(异常)和错误(Error),他们都同样继承于Throwable父类,Error错误,一般是和虚拟机相关的错原创 2018-01-17 14:28:29 · 212 阅读 · 0 评论 -
Hashmap源码解析 keyset,entryset
Hashmap源码解析 keyset,entrysetHashMap 继承于AbstractMap, 同时实现了Map接口:属于Map的子类。 Cloneable接口:可以被复制。 Serializable:可以被序列化。HashMap是一个键值对的集合,通常通过 HashMap.put(K,V)添加单个元素。 本文主要讨论Hashmap中的实现细节,put函数,keyset和e原创 2018-01-10 17:14:43 · 1338 阅读 · 0 评论 -
java set集合解析
java set集合解析set这里我们首先看到set接口 public interface Set extends Collection注意一下官方对其的描述 * A collection that contains no duplicate elements. More formally, sets * contain no pair of elements e1原创 2018-01-11 17:21:49 · 1021 阅读 · 0 评论 -
java值传递
java值传递接触java也有一段日子了,说来惭愧,最近才想起要看下java的参数传递情况,也是一个困扰了我一段日子的问题。要搞清楚java的值传递,首先要分清楚什么是引用和对象。例如下面的例子Person person=new Person();当我们声明了Person person过后能不能直接拿来用呢,答案是否定的,肯定是不可以的,只有在为其申请了地址空间过后才能使用,Person pe原创 2017-09-24 21:46:52 · 525 阅读 · 0 评论 -
java 集合解析(一)collection和Iterable
java 集合解析(一)collection和Iterable先上一张从网上找的图,将集合也是概括的挺详细的 从图里可以看出collection是java中的一个顶层接口,list,queue和set继承了collection接口。 既然要说的是collection,我们打开源码collection看一下。public interface Collection<E> extends Iterab原创 2017-09-28 14:49:14 · 1896 阅读 · 0 评论 -
动态数组的实现-ArrayList
动态数组的实现-ArrayList说完了LinkedList,来谈下另外一种常用的数组ArrayList。 可以看到他们同时实现了List接口,但是ArrayList和LinkedList的区别是LinkedList利用了双向链表的方法来进行创建,ArrayList利用了动态数组的方法,进行创建,类似于c中的动态数组申请。从他们的创建方法也可以看出来,当数据较大时候,从中间插入,从头部插入,和在尾原创 2017-09-26 20:35:05 · 2418 阅读 · 0 评论 -
双向链表在java中的应用举例-LinkedList
双向链表在java中的应用举例-LinkedList复习了链表,作为一种高效的存储数据的方式public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable这里LinkedList 继承于AbstractS原创 2017-09-26 20:08:23 · 1599 阅读 · 1 评论 -
java单例模式
java单例模式什么是java单例模式? java单例模式就是任何适合保证为整个程序提供一个实例,避免不一致的状态。实现的思路就是让构造函数私有化,通过函数返回当前类的实例。饿汉式单例实现public class Singleton { private static Singleton instance = new Singleton(); private Singleton(原创 2017-09-06 20:33:10 · 434 阅读 · 0 评论 -
java equals和==的区别
java equals和==的区别也算是一直以来都没有搞清楚的问题,这次认真的看了下代码,搞定这个问题。 初学Java的时候总是喜欢用==来判断两个String是否相等,也闹了很多的错误。 当我们调用==时候,则会比较两个变量的值,如果是 基本类型则可以直接比较,如果是String则会比较他们在内存中的地址,举一个简单的例子Student student1 = new Student();St原创 2017-09-06 19:43:19 · 282 阅读 · 0 评论 -
java双亲委托模式classLoader
当程序在运行时,会调用一个入口函数来调用系统的相关功能,这些功能都包含在不同的class里面,有时候需要从一个class去调用其他class的方法,如果另外一个文件不存在的,则会引发系统异常。而程序在启动的时候,并不会一次性加载程序所要用的所有class文件,而是根据程序的需要,通过Java的类加载机制(ClassLoader)来动态加载某个class文件到内存当中的,只有class文件被载入到了内原创 2017-09-06 18:50:00 · 464 阅读 · 0 评论 -
Java 线程同步
Java 线程同步综述我们知道,当不同的线程对同一个变量进行操作的时候,将会有可能出现数据不统一的情况。 为了解决这种问题,Java提供了几种方式:synchronized关键字,Lock锁机制,ThreadLocal线程副本的方式。synchronized关键字synchronized是一种互斥锁,如果对临界资源加上互斥锁,当一个线程在访问该临界资源时,其他线程便只能等待。...原创 2018-01-18 22:34:14 · 280 阅读 · 0 评论