
Java
冰怜
真正的静,是生命里寂然涤思;真正的动,是世路上毅然向前
展开
-
Java异常
异常处理机制主要回答了三个问题:What、Where、WhyWhat:异常类型回答了什么被抛出Where:异常堆栈跟踪回答了在哪抛出Why:异常信息回答了为什么被抛出从概念角度解析java的异常处理机制Error:程序无法处理的程序错误,编译器不做检查(比如内存溢出,这些问题)Exeption:程序可以处理的异常,捕获后可能恢复总结是前者无法处理的错误,后者是可以处...原创 2019-04-01 22:23:51 · 144 阅读 · 0 评论 -
Java多线程与并发-原理
synchronized线程安全问题的主要诱因存在共享数据(也称临界资源)存在多条线程共同操作这些共享数据解决问题的根本方法:同一时刻有且只有一个线程在操作共享数据,其他线程必须等待该线程处理完数据后在对共享数据进行操作互斥锁的特性互斥性:即在同一时间只允许一个线程持有某个对象锁,通过这种特性来实现多线程的协调机制,这样在同一时间只有一个线程对需要同步...原创 2019-07-23 00:15:16 · 356 阅读 · 0 评论 -
CAS
CAS一种高效实现线程安全性的方法支持原子更新操作,适用于计数器,序列发生器等场景属于乐观锁机制,号称lock-freeCAS操作失败时由开发者决定是继续尝试,还是执行别的操作CAS思想包含三个操作数——内存位置(V)、预期原值(A)和新值(B)CAS多数情况下对开发者来说是透明的J.U.C的atomic包提供了常用的原子性数据类型以及引用、数组等相关原...原创 2019-07-02 11:09:39 · 170 阅读 · 0 评论 -
jmm的内存可见性
什么是Java内存模型中的happens-beforeJava内存模型JMMJava内存模型(即Java Memory Model,简称JMM)本身是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式JMM中的主内存存储Java实例对象包括成员变量、类信息、常量、静...原创 2019-07-02 10:50:05 · 791 阅读 · 0 评论 -
synchronized和ReentrantLock
synchronized和ReentrantLock的区别ReentrantLock(再入锁)位于Java.util.concurrent.locks包和CountDownLatch、FutureTask、Semaphore一样基于AQS实现能够实现比synchronized更细粒度的控制,如控制fairness调用lock()之后,必须调用unlock()释放锁性能未必...原创 2019-07-02 09:40:14 · 156 阅读 · 0 评论 -
Java—内存模型共享部分
元空间和永久代都是用来存储class的相关信息包括class对象的method和filed等元空间和永久代是方法区的实现方法区的jvm的规范在7以后原先位于方法区的字符串常量池被移到堆中在8以后使用元空间(使用本地内存)替代永久代(使用jvm内存)元空间(MetaSpace)与永久代(PermGen)的区别元空间使用本地内存,而永久代使用的是jvm的内存Me...原创 2019-04-15 15:13:52 · 203 阅读 · 0 评论 -
Java—内存模型独占部分:程序计数器、虚拟机栈、本地方法栈
内存简介JVM内存模型—JDK8线程私有:程序计数器、虚拟机栈、本地方法栈线程共享:MetaSpace、Java堆程序计数器当前线程所执行的字节码行号指示器(逻辑)改变计数器的值来选取下一条需要执行的字节码指令(if、for这些都需要程序计数器)和线程是一对一的关系即 "线程私有"堆方法计数,如果是Native方法则计...原创 2019-04-15 14:56:46 · 473 阅读 · 0 评论 -
SSM—用户登录,注销,注册、校验
mybatis-generator生成实体类、xml这些结构如下配置文件如下applicationContext.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="...原创 2019-04-21 23:02:45 · 1810 阅读 · 0 评论 -
vue+axios 分类添加功能 element+导航栏
vue+element这里我引入了自己写的头部模板目录结构 我的vue版本是2.9路由是在src/router先要引入模板import Login from '@/views/Login/Login'import Category from '@/views/Category/Category'在写路径这里的name可以放在:to这些中...原创 2019-04-21 22:39:42 · 722 阅读 · 0 评论 -
java-反射
Java如何加载.class文件Java虚拟机java虚拟机:抽象化的计算机,通过在实际的计算机上个防真模拟计算机功能来实现的,有自己完善的硬件架构:处理器,堆栈,寄存器等,还具有相应的指令系统,jvm屏蔽了与具体操作系统平台相关的信息,使得java程序只需要生成在java虚拟机上运行字节码,就可以在不同平台上不加修改的运行,其中最重要的两点:JVM内存结构模型,...原创 2019-04-03 20:36:02 · 125 阅读 · 0 评论 -
Java—内存模型常考题解析(面试)
JVM 三大性能调优参数-Xms -Xmx-Xss的含义java -Xms128m -Xmx128m -Xss256k -jar xxxx.jar-Xss:规定了每个线程虚拟机栈(堆栈)的大小-Xms:堆的初始化-Xmx:堆能达到的最大值Java内存模型中堆和栈的区别——内存分配策略静态存储:编译时确定每个数据目标在运行时的存储空间需求栈式存储:数据区...原创 2019-04-15 22:19:53 · 731 阅读 · 0 评论 -
Java的理解
谈谈你对Java的理解 面试问题平台无关性GC语言特性面对对象类库异常处理Compile Once,Run Anywhere(如何实现平台无关的?)编译时:javac运行时:java.java文件首先经过javac编译生成字节码。将字节码保存在.class文件中。.class文件是跨平台的基础。在由不同平台的JVM进行解析,java语...原创 2019-04-03 15:04:17 · 464 阅读 · 0 评论 -
Java—IO机制、BIO、NIO、AIO
BIO用厕所做比例 一直等待别人厕所上完 ,自己再去AIO就是 别人上厕所,别人通知你上上完,你在别人上厕所的同时,可以在外面抽烟,做点其他事情,等待NIO就是 在厕所里面 一直看着别人那里空位 直接上厕所BIOBlock-IO:InputStream和OutputStream,Reade和Writerpackage com.binglian.IO;...原创 2019-04-03 12:36:35 · 329 阅读 · 0 评论 -
Java—ClassLoader
ClassLoader种类BootStrapClassLoder:C++编写,加载核心库java.*(自带核心库,由jvm内核实现)ExtClassLoader:(用户可见)java编写,加载扩展库javax.*(加载路径System.get.property("java.ext.dirs"),class文件不是一次性加载,用于才去做加载)AppClassLoader:Java编写,加...原创 2019-04-09 09:56:21 · 111 阅读 · 0 评论 -
Java—J.U.C
J.U.C就是并发工具类闭锁 CountDownLatch栅栏CyclicBarrier信号量 Semaphore交换机ExchangerCyclicBarrier:阻塞当前线程,等待其他线程Exchanger...原创 2019-04-02 21:36:12 · 303 阅读 · 0 评论 -
Java-Map
HashMapHashMap(Java以前):数组+链表最坏的情况的是从O(1)变成hashMap(java8及以后):数组+链表+红黑树HashMap:put方法的逻辑1.如果HashMap未被初始化过,则初始化2.对key求Hash值,然后再计算下标3.如果没有碰撞,直接放入桶中4.如果碰撞了,以链表的方式链表到后面5.如果链...原创 2019-04-02 21:04:46 · 105 阅读 · 0 评论 -
java—Collection
List和Set看结果 得出 LinkedList是无序的、可重复元素而set它已经排序好了,且不能重复package com.binglian.collection;import java.util.LinkedList;import java.util.TreeSet;public class DuplicateAndOrderTest { pu...原创 2019-04-01 23:46:19 · 107 阅读 · 0 评论 -
Java多线程与并发
线程和进程的由来串行:初期的计算机智能串行任务,需要长时间等待用户输入批处理:预先将用户的指令集中成清单,批量串行处理用户指令,仍然无法并发执行进程:进程读占内存空间,保存各自运行状态,互相间不干扰且互相切换,为并发处理任务提供了可能线程:共享进程的内存资源,相互间切换更快捷,支持更细粒度的任务控制,使进程的子任务得以并发执行进程是资源分配的最小单位,线程是CPU调度...原创 2019-08-06 14:37:00 · 307 阅读 · 0 评论