自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

转载 如何使用 Mybatis 实现数据库 CURD 操作

详情看如下链接:https://blog.csdn.net/csdnnews/article/details/105445743

2021-04-04 19:40:51 141

原创 新建虚拟机以及虚拟机的配置网络

一,新建虚拟机(VMware )(1)点击新建虚拟机(2)推荐选择典型,点击下一步。(3)选择稍后安装(推荐),点击下一步。(4)选择你要安装的系统(此时我选的是Linux系统),版本号选择(最好选择CentOS 7 64位 ),点击下一步。(5)修改你的虚拟机名称(后面也可改)并选择安装位置,ok后,点击下一步。(6)建议不用修改,点一下一步。(7)可以自定义硬件,看你之前的配置。点击自定义此时可以选择映像文件其他不想修改(这里我没有在修改),点击关闭即可。(8)

2021-01-25 20:09:44 1962

原创 线程的生命周期,及之间的转换。

一、线程的生命周期1、线程的5种状态:新建(New),就绪(Runnable),运行(Running),阻塞(Blocked),死亡(Dead)(1)新建状态(New):新创建了一个线程对象。(2)就绪状态(Runnable):线程对象创建后,其它线程调用了该对象的start()方法。该状态的线程位于可执行线程池中,变得可执行,等待获取CPU的使用权。(3)执行状态(Running):就绪状态的线程获取了CPU。执行程序代码。(4)堵塞状态(Blocked):堵塞状态是线程由于某种原因放弃CPU使

2020-08-04 22:56:43 1183

原创 什么是线程安全问题,为什么会出现?又怎么解决?

一.什么时候会出现线程安全问题?在单线程中不会出现线程安全问题,而在多线程编程中,有可能会出现同时访问同一个资源的情况,这种资源可以是各种类型的的资源:一个变量、一个对象、一个文件、一个数据库表等,而当多个线程同时访问同一个资源的时候,就会存在一个问题:由于每个线程执行的过程是不可控的,所以很可能导致最终的结果与实际上的愿望相违背或者直接导致程序出错。举个简单的例子:现在有两个线程分别从网络上读取数据,然后插入一张数据库表中,要求不能插入重复的数据。那么必然在插入数据的过程中存在两个操作:1)检

2020-08-04 21:50:20 2021

原创 java中volatile关键字

一、java中volatile关键字的含义在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。synchronized同步块大家都比较熟悉,通过 synchronized 关键字来实现,所有加上synchronized 和 块语句,在多线程访问的时候,同一时刻只能有一个线程能够用synchronize

2020-08-04 21:41:06 1452

原创 synchronized和Lock的区别

两者区别:1.首先synchronized是java内置关键字,在jvm层面,Lock是个java类;2.synchronized无法判断是否获取锁的状态,Lock可以判断是否获取到锁;3.synchronized会自动释放锁(a 线程执行完同步代码会释放锁 ;b 线程执行过程中发生异常会释放锁),Lock需在finally中手工释放锁(unlock()方法释放锁),否则容易造成线程死锁;4.用synchronized关键字的两个线程1和线程2,如果当前线程1获得锁,线程2就等待。如果线程1阻塞,线

2020-08-04 20:44:56 145

原创 简述HashMap的put过程

HashMap的put方法JDK7中HashMap采用的是位桶+链表的方式,即我们常说的散列链表的方式,而JDK8中采用的是位桶+链表/红黑树,本文研究的是 JDK8中的put方法。JDK1.8 put方法源码:public V put(K key, V value) { return putVal(hash(key), key, value, false, true);}这里我们先关注下hash函数,在HashMap中其实现如下:static final int hash(Obje

2020-07-28 21:01:25 8499

原创 HashMap、HashTable、ConcurrentHashMap三者间的异同

HashTable和HashMap:HashTable和HashMap采用相同的存储机制,二者的实现基本一致,不同的是:(1)HashMap是非线程安全的,HashTable是线程安全的,内部的方法基本都经过synchronized修饰。(2)因为同步、哈希性能等原因,性能肯定是HashMap更佳,因此HashTable已被淘汰。(3) HashMap允许有null值的存在,而在HashTable中put进的键值只要有一个null,直接抛出NullPointerException。(4)HashM

2020-07-28 20:45:25 229

原创 Java中的异常处理

Java中的异常处理代码中的异常处理其实是对可检查异常的处理。1. 通过try…catch语句块来处理:e.g.try{ // 程序代码}catch(ExceptionName e1){ //Catch 块}Catch 语句包含要捕获异常类型的声明。当保护代码块中发生一个异常时,try 后面的 catch 块就会被检查。如果发生的异常包含在 catch 块中,异常会被传递到该 catch 块,这和传递一个参数到方法是一样。2. 可以在具体位置不处理,直接抛出到上层抛出

2020-07-26 17:20:02 154

原创 java 中的常见类之Object和System

1.Object类Object类是一个特殊的类,是所有类的父类,如果一个类没有用extends明确指出继承于某个类,那么它默认继承Object类。这里主要总结Object类中的三个常用方法:toString()、equals()、hashCode()。(1).取得对象信息的方法:toString()类该方法在打印对象时被调用,将对象信息变为字符串返回,默认输出对象地址。```javaclass Student{ String name = "Mary"; int age = 2

2020-07-26 16:53:14 217

原创 简单认识一下Java中的if语句和switch语句

一,if语句执行顺序: 从左而右,从上到下执行;if语句的选择结构单分支 if (条件) { // 如果条件为真,则执行{}内部的代码 } 双分支 if (condition) { // 如果条件为真,则执行if内部的代码 } else { // 如果条件为假时,则执行else内部的代码 } 多分支 if (条件1) { // 如果条件1为真,则执行内部的代码 } else if (条件2) { // 如果条件2为真,则执行内部的代码 } else

2020-07-18 17:47:10 147

原创 接受用户输入的两个整数,存储到两个变量里面,交换变量存储的值。

1.临时变量法public class Test { public static void main(String[] args) { int a = 7; int b = 89; int c;//定义临时变量c c = a; a = b; b = c; System.out.println("a=" + a); System.err.println("b=" + b); }} 输出结果:a=89b=72.求和法public class Test { p

2020-07-18 16:54:52 1804

原创 Java中的循环

一,首先了解什么是循坏;也就是字面意思:循坏就是让一件事不断的重复。二,Java中有哪些循环哪?现在我所熟知的也就只有for循环,while循环,do… while循环;现在也就将这几个循环逐个给大家说一下;1.for循坏书写格式:for(定义变量; 条件判断;索引变化){//此处可以添加循环体 }然后给大家简单写一个循坏(将1~20这几个整数循环输出)public class Test { public static void main(String[] args)

2020-07-17 19:16:54 290

原创 初步了解Java中的数组

1.什么是数组?数组是一组数据类型相同的数据的组合;即将这些数据统一的管理起来。数组还是一个引用的数据类型;2.数组的定义(声明)数据类型[] 数组名字;int[] x;char[] y;boolean [] z;String[] m;3.数组的赋值静态初始化:有长度 有元素int[] array = new int[]{10,20,0,40};int[] array = {10,20,0,40};动态初始化:有长度 没有元素(不是真的没有 ,而是有默认值)

2020-07-15 23:38:33 123

原创 java的安装

一. 首先下载jdk下载链接 :https://download.eclipse.org/oomph/jre/下载好jdk后将它解压放到自己想放的盘中(建议不要放在C盘)。二.打开我的电脑配置环境变量。1.右击我的电脑找到属点击,出现如下图。2.点击高级系统配置选择环境变量点击,出现如下图。3.开始配置环境变量。新建系统变量JAVA_HOME,变量值为jdk安装目录(注意此处路径是你jdk解压后所放的目录,我这路径直接在D盘下,当然,如过你在其它路径下也可以选择其他路径。)然后在Pa

2020-07-15 18:54:08 203

原创 Java入门--变量和数据类型

Java入门–变量和数据类型变量一 什么是变量:1.在程序运行过程中(运行时/runtime),可以发生变化的量。2.变量是一块具有名称的内存。二 Java中二如何定义变量1.先声明变量,后赋值。例:int a;a =5;2.初始化变量。例:int a = 5;注意:变量是一个空间可以只创建空间 里面不存放内容变量空间创建后是没有默认的内容 空的空的变量不能拿来使用 编译错误数据类型:一 .基本数据类型:1.数值型 :(1)整数型byte(字节型) shor

2020-07-02 20:32:09 231

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除