Java 进击
java_Maxhui
所有的博客全部用于学习不做商业用途,各种资料均来自于正规途径,如有侵权请联系本人。所有博客不是最终版有任何不完整的地方也可以告知我补充,一起勉励加油!!
展开
-
Java_01【基础】
卸载最前面:复习了很久的Java 经过准备 现在开始 总结Java 中遇到的 有价值的 内容01_Java基础知识1.jdk jvm jre三者之间的关系JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。DK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里...原创 2019-03-14 14:46:35 · 147 阅读 · 0 评论 -
Java_【多线程_①】
进程与线程进程: 操作系统程序一次执行过程(程序执行的一个周期)现代操作系统资源分配最小单元 资源分配最主要的内存操作系统为每一个进程分配内存互不干扰线程:操作系统进程的子任务现代操作系统任务分配的最小单元在一个进程中的所有线程共享这个进程的资源区别1.进程:是操作系统资源的最小单元 .线程:任务分配的最小单元2.进程启动与销毁代价大 线程启动或销毁代价小3.进程之间相互独立相...原创 2019-06-10 18:51:34 · 128 阅读 · 0 评论 -
java_【类集】
MavenLambok1.ArrayList Vector LinkedList区别2.Hasmap Hashtable TrceeMap3.ConcurrentHashMap集合框架保存数据的集合,解决数据存放数组定长问题Collection(JDK1.2)Java保存单个对象最顶层接口Boolean add(E e) 增加Boolean delete() 删除Boolea...原创 2019-07-19 08:36:29 · 96 阅读 · 0 评论 -
java_【多线程_②】
线程同步互斥:多个线程并发时某一刻只能有一个线程访问共享资源同步:线程间通信(线程合作)一把锁保护一个对象 一把锁保护一个相应的资源Java实现锁1.使用 synchronized 为关键字上锁①同步 代码块Synchronized(锁的对象) {//代码块}1.this 2。任意一个Object及其子类对象 3.当前类.class此代码块 一个时刻只能有一个线程进入所...原创 2019-07-19 08:48:50 · 133 阅读 · 0 评论 -
java_【简读JVM】
b.JVM则是通过软件模拟Java字节码的指令集,JVM中只是主要保留了PC寄存器1.线程私有内存三块区域生命周期与线程生命周期相同,随着线程创建而创建,销毁而销毁不同线程三块内存相互隔离1)程序计数器(唯一一个不会产生OOM异常)无法计数本地(Native)方法 计数器为0OutOfMemoryError 内存溢出异常<1>是当前线程所执行的字节码的行号指示器2)虚拟...原创 2019-07-17 20:47:30 · 109 阅读 · 0 评论 -
java多线程_复习宝典01
个人复习总结多线程问题归纳与总结多线程1.进程和线程进程 进行资源费配和调度的金本单位线程 程序流的最小单元一个进程有多个线程2.实现方式(1)继承Thread 重写run()(2)实现Runnable接口 覆写run方法但是没有返回值(3)对Runable补充实现Callable接口public class test implements Callable<Str...原创 2019-08-06 18:00:29 · 101 阅读 · 0 评论 -
java集合_复习宝典【01】
类集(1)ArrayList Vctor LinkedListArrayList Vctor LinkedList(2)fail-fast与fail-safe1.出现同步修改 当一个或多个线程遍历一个集合 此时另一个线程修改内容出现并发修改2.Fail-fast机制fail-fast遍历一个集合时当结构被修改抛出Concurrent Modification Exception...原创 2019-08-14 12:04:11 · 182 阅读 · 0 评论 -
java_【volatile】【final】
Volatilev被volatile修饰的变量能够保证每个线程能够获取该变量的最新值,从而避免出现数据脏读的现象。(1)实现原理声明volatile的变量进行写操作VM就会向处理器发送一条Lock前缀的指令1.Lock前缀的指令会引起处理器缓存写回内存;2.一个处理器的缓存回写到内存会导致其他处理器的缓存失效;3.当处理器发现本地缓存失效后,就会从内存中重读该变量数据,即可以获取当前最...原创 2019-08-19 15:37:39 · 215 阅读 · 0 评论 -
原子性、可见性、有序性
原子性、可见性、有序性、(1)原子性原子性是指一个操作是不可中断的,要么全部执行成功要么全部执行失败```javascriptInt a = 10; //原子性a++; //1.读取a的值 2.对a+1 3.更新的值赋给aInt b = a; //1.读取a 2.将a赋给ba = a+1;```java内存模型中定义了8中操作都是原子的lock...原创 2019-08-19 20:41:15 · 136 阅读 · 0 评论 -
java多线程_复习宝典02
线程安全多线程条件下保证线程安全 采用加锁机制Synchronized1)可以在任意对象以及方法上加锁 倍加锁的代码成为 互斥区 或 临界区2)多线程条件下 排队按照CPU分的方式进入同步队列 一个线程执行sunchronize其他线程拿不到 就会出现锁竞争3)Sychronized实现时是对对象加锁(this 类.class)Sychronize实现原理1)内置锁和护斥锁内置锁...原创 2019-08-11 10:09:49 · 121 阅读 · 0 评论 -
java多线程_复习宝典【03】基础知识
Juc(1)并发并行1.并发多个任务交替进行2.并行真正意义上同时进行(1)避免死锁的方式1.避免一个线程同时获得多个锁2.避免一个线程内部占有多个资源,保证一个所一个资源3.尝试使用定时锁4.数据库锁 加锁解锁一个数据库连接内(2)线程的几种状态1.wait() join() LockSupport.Lock() 线程进入WAITING2.wait(long tim...原创 2019-08-17 21:53:18 · 117 阅读 · 0 评论 -
Java_【I/O】
File类File 是一个普通的类java.io.File参与操作文件本身 直接参与文件的创建、删除、获取信息构造器Public File(String pathname) 直接传入文件的路径Public File(String parent,String chile) 设置父路径与子路径File类的主要方法createNewFile() 创建一个新文件public boo...原创 2019-05-19 15:21:25 · 101 阅读 · 0 评论 -
Java_12【新特性】
本章主要介绍Java自1.5以来的几个新特性例如:枚举、注解、Lambda表达式等等1)枚举枚举类型的出现时Java 5新增的特性,从形式上看更像是一个特殊的类01问题的引入当我们在解决这样一个问题是如果要定义一组颜色的类,我们通常这样做定义一个类Color为这个类添加static final的属性各种颜色,为了使用这些颜色,或者通过类名去调用或者在类中添加构造器等等一系列基础操作。但是当...原创 2019-04-19 18:47:59 · 134 阅读 · 0 评论 -
Java_04【工厂设计模式】
01个人理解在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的工厂模式顾名思义,如果说Java敲代码产生的对象为产品,工厂模式产生一个好比工厂的就是代替你自己去生产对象,一个良好的工厂模式可以让客户在使用时可以根据自己的需要去生产一个适合的对象,而不用去修改代码。02简单的工厂模式创建一个简单的工厂去生产一种东西,建立一个工厂去生产一个函...原创 2019-03-19 15:19:22 · 114 阅读 · 0 评论 -
Java_02【面向对象封装】
面向对象—封装01封装的定义指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。个人理解:目前来看 封装最常用在定义类的属性上 通过给属性进行封装达到保护属性...原创 2019-03-15 17:39:33 · 101 阅读 · 0 评论 -
Java_05【代理设计模式】
-介绍Java中的代理设计模式-通过调用代理,来间接的调用实际对象。代理是一种常用的设计模式,代理模式可以对原有的类进行扩展,即通过代理对象的模式来访问目标类。01静态代理interface Subject{ void visit();}class RealSubject implements Subject{ private String name = "RealSubject...原创 2019-03-20 15:16:29 · 116 阅读 · 0 评论 -
Java_03【继承】
今天这个专题就是来介绍Java三大特性之一的----继承01继承的理解1。继承作为Java中,重要的功能之一直接提现了Java语言的特性——复用性,编写代码是实现程序的功能,一段代码最重要的是功能强大,数量最少,且不产生任何Bug是优良代码。复用代码是达到目标路径之一。2。继承–抽象到生活中就像一个家庭就是一个程序,各个成员就好比个各类,那么继承就体现在父亲和子女的关系,就像父类和子类。3...原创 2019-03-17 15:53:57 · 127 阅读 · 0 评论 -
Java_06【抽象类和接口】
01什么是抽象类不论我们分析代码还是生活,一部分事务系统的看就会有一些共性,这些共性也是这些对象的特点。在生物界就可以按照这些共性对生物进行分类,例如 人类就是灵长类的生物,这些灵长类的生物共同拥有的一些特点比如智商高,又或者会动手制作工具等等,人类作为灵长类动物又会说话人类之中又分各个人种,这其中又可以进行抽象。将这些特性抽取起来组成一个类称之为抽象类02抽象类的组成抽象类作为Java的组...原创 2019-03-22 16:47:47 · 103 阅读 · 0 评论 -
Java_07【单例设计模式】
01什么是Java单例模式单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。选择单例模式就是为了避免不一致状态,避免出现多个实例对象。02单例模式特点1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式保证了全局对象的唯一性,比如系统启动读取配置文件就需要单例保证配置的一致性。单例模式01饿汉...原创 2019-03-22 18:30:18 · 95 阅读 · 0 评论 -
Java_08【内部类和代码块】
代码块进入代码块之前先看一个经典题型public class HelloA {//构造方法public HelloA(){System.out.println("Hello A!父类构造方法");}//非静态代码块{System.out.println("i'm A class.父类非静态代码块");}//静态代码块static{System.out.println("s...原创 2019-03-24 15:01:24 · 205 阅读 · 0 评论 -
Java_09【异常】
异常顾名思义程序发生了和正常结果不同的的情况在Java编程思想中这样描述:是指阻止当前方法和作用与继续执行的问题。异常情形不等于普通问题。01异常处理机制当Java程序发生异常会有异常处理机制结关程序,并寻找一个恰当的地方来继续执行程序,这个恰当的地方就是异常处理程序,他的任务是将程序从错误中恢复,让程从错误中恢复,使程序要么换一种方式运行,要么继续下去。02Java异常的种类1。Jav...原创 2019-03-28 15:29:03 · 172 阅读 · 0 评论 -
Java_10【关键字】
java中含有许多自带的关键字方便我们编程实现程序,关键字的使用是javaEE部分的重点和基础static“static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。”引用自Java编程思想重点抽取之后 再没有穿件对象的情况之下也能使用的...原创 2019-04-13 15:36:47 · 206 阅读 · 0 评论 -
Java_11【泛型】
从Java 1.5 开始引入泛型的机制:泛型实现了参数化类型的概念,时代吗可以应用于多种类型。——————java编程思想泛型的本质就是参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。也就是说在泛型使用过程中,操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法。个人理解:泛型更像是在编写代码阶段为...原创 2019-04-19 16:31:35 · 199 阅读 · 0 评论 -
java_JMM_【happens-before】
(1)多线程共享变量实例域,静态域和数组元素都是放在堆内存中(所有线程均可访问到,是可以共享的)局部变量,方法定义参数和异常处理器参数不会在线程间共享(2)JMM结构模型1. 线程A将主内存共享变量读取读入线程A的工作内存后并进行操作,之后将数据重 新写回到主内存中2. 线程B从主存中读取最新的共享变量如果线程A更新后没有及时写会主内存而此时线程B读到的是过期的数据出现了...原创 2019-08-18 10:04:47 · 215 阅读 · 0 评论