Java多线程JUC

1. volatile 关键字多线程访问的时候,一个比较严重的问题就是内存不可见,其实在内存访问的时候每一个线程都有一个自己的缓冲区,每次在做修改的时候都是从主存取到数据,然后放到自己的缓冲区中,在做完修改之后放回主存。这样每一个线程之间的变量是不可见的。造成读到的数据可能始终就是错误的,因此有一个关键字可以使得这个共享变量称为透明的。就好像所有的操作就直接是在内存中操作一样,因为他一直不停的去同步主存的数据。 2.原子性i++ 这个运算,其实在底层低用的就是临时变量的方式,这样的话虽然是...

Read More

内部类的作用

一、 作用 内部类可以很好的实现隐藏,一般的非内部类,是不允许有 private 与protected权限的,但内部类可以加上这几个修饰词。 内部类拥有外围类的所有元素的访问权限,可以直接访问外部类的私有属性及方法 可以间接实现多重继承,多个内部类继承不同的类形成了一个类中复用了多个类的方法。 可以避免在继承一个父类和一个接口的时候导致的方法重复定义。 二、详解1.实现隐藏12345678910111213141516171819public class Example &#...

Read More

静态内部类

定义:静态内部类,定义在类中,任何方法外,用static定义;静态内部类只能访问外部类的静态成员。 注意点: 一般情况下,如果一个内部类不是被定义成静态内部类,那么在定义成员变量或者成员方法的时候,是不能够被定义成静态成员变量与静态成员方法的。也就是说,在非静态内部类中不可以声明静态成员。 一般非静态外部类可以随意访问其外部类的成员变量以及方法(包括声明为private的方法),但是如果一个内部类被声明为static,则其在访问包括自身的外部类会有诸多的限制。静态内部类不能访问其外部类的...

Read More

JavaIO

1.在IO有两种数据传输格式一个是字符流还一个是字节流但是字符流就会涉及到编码的问题 一开始美国使用的自己的编码表就是ASCII表 中国的字符需要被识别也需要编码表于是就有了GB2312 但是由于中国的子很多,还有少数名族等等后来又进行了优化扩容就出现了GBK 最后国际标准组织制定了一个包含所有国家所有地区的码表就是Unicode 之后对Unicode进行了优化也就是以前是所有的字符都是两个字节表示,但是现在就可以一个字节或者三个字节,具体看情况的UTF_8字符流一般都包含了编码表,也就...

Read More

Java多线程

1.复写run方法的目的在于,把要运行的代码放到run方法里面,也就是新的线程要跑什么内容这也就是第一种多线程的方法,其主要的步骤如下: 继承Thread类 复写run方法 创建对象 start 任何一个程序至少有一个线程就是主线程,主线程也是main方法的线程,这个线程是由jvm启动的,当我们自己创建新的线程的时候实际上是在主线程之外另开的新的线程和主线程并行工作12345678910111213141516171819class DemoRun extends Thread...

Read More

Java泛型

1.java泛型及就是在jdk1.5之后出现的一个新的安全机制 我们发现在集合框架中我们可以放入任何的元素,然而这样做并没有任何意义,绝大多时候我们是默认我们 知道这个容器需要存放什么样的内容,但是用户的输入是不安全的如果他们输入了各种类型然后我们只对某些类型 进行了处理显然到时候运行时必然报错 所以为了解决这个问题,类似于数组的解决方式给集合限定了类型使用尖括号来限定,当然包括Iterator 他的好处就是安全 2.comparable接口和comparator都可以使用泛型...

Read More

JDBC

1.普通的 JDBC 链接12345678910111213141516171819202122232425262728293031public class JdbcConnect { @Test public void connect() throws ClassNotFoundException, SQLException { /** * 准备四大参数: driver url username password ...

Read More

JavaWeb基础

1. XML xml一般就用来存放少量的数据,或者是作为配置文件。 xml的声明 必须放在首行的首列(也就是顶头写) 有且仅有一个根标签,其他的都是他的子标签 xml中的换行和空格都当做内容来解析,所以对于缩进来说一定要注意。 xml中的内容区分大小写,不能以数字和下划线开始,不能以xml开始,里面不能包含空格和冒号 一个元素可以有多个属性,名字自定义,属性不能冲突 对于一些特殊字符需要转义,使用实体来表示,就和html里面的一样 CDATA区就是里面的内容无需转义 对于xml的内容...

Read More

Java集合框架Map

map集合是一对一对的存放,而且要保证键名的唯一性。 map的共性方法: 1.添加: put(K key,V value) putAll(K key,V value) 2.删除: clear() remove(Object key) <!--more--> 3.判断: isEmpty() constrainKey(object key) constrainValue(object value) 4.获取: get(Object key) si...

Read More

Java集合框架Collections

1.基本介绍: 集合就是存放对象的,他比数组好的一点就是他一开始不清楚自己长度 容器一般是分为很多种的,很多的容器在一起然后进过断的抽象和抽取就成了一个体系,我们称之为集合框架 我们看体系首先是看顶层的容器,他是底层的容器都有的特性,然后在逐步求精 最顶层的我们称之为collection 在util包中的 在collection中分为两个比较常用的子接口分别是list和set。 list是类似于数组的那种,也就是集合元素可重复,有序有脚标。 set则为无序的,所以集合元素不可重复,不可脚...

Read More


Powered by Hexo and Hexo-theme-hiker

Copyright © 2015 - 2025 昨夜凛雨 All Rights Reserved.

UV : | PV :