自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 jvm - volatile关键字

其实 volatile 关键字主要的作用有两个:一是让其修饰的变量,在发生改变时,立即可以被其它线程察觉到;二是禁止程序中发生的指令重排。作用一: 所有线程立即可见要弄清楚这一点首要要对主内存和工作内存有些了解。每个线程都会有自己私有的内存空间,而一个程序中的线程又可以共享程序的内存。引用一个经典的图(深入理解jvm虚拟机)来说明。一般线程中会存放主内存中的变量的副本,在短期没有发生修改的情况下,线程并不会去主内存取值更新自己工作内存中的值。很典型的一段程序是这样,在主线程中修改flag的值的时候,

2021-01-21 20:54:40 146 1

原创 1 java多线程 线程的创建和线程中变量的共享

线程的创建方法java中创建线程的方法可以说只有一个,就是通过new Thread()的方式来创建线程。但是,从使用的角度来看,java中创建线程的方式可以说是有多种的:1 第一种可以通过继承 Thread 类,重写 Thread 类中的 run() 函数来实现线程逻辑。然后在主类中通过新建一个Thread的实现类来开启线程。2 实现Runnable接口,重写 run() 方法即可。采用接口的方式来创建线程相对而言更加灵活,毕竟java只支持单继承,继承Thread类就没办法继承自己的类啦。需要注意

2021-01-21 19:53:00 563

原创 (SSM) springMVC + spring + Mybatis(MySQL)学习笔记 ------第一个SSM项目从创建到运行-详细(IDEA) ---(3) Mybatis集成

Mabatis相关的包第一节已经导入了,这里放一下。 <!-- mybatis start--> <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java&lt

2021-01-18 00:14:05 150 2

原创 (SSM) springMVC + spring + Mybatis(MySQL)学习笔记 ------第一个SSM项目从创建到运行-详细(IDEA) ---(2) SpringMVC集成

接上一节,下面配置SpringMVC(SSM) springMVC + spring + Mybatis(MySQL)学习笔记 ------第一个SSM项目从创建到运行-详细(IDEA) —(1) Spring集成在pom中需要导入的包上一篇已经导入啦,springMVC的包含这几个,上一节导入的话这里就不用啦。 <!-- springMVC start--> <!-- https://mvnrepository.com/artifact/jstl/jstl -

2021-01-17 22:52:20 136

原创 (SSM) springMVC + spring + Mybatis(MySQL)学习笔记 ------第一个SSM项目从创建到运行-详细(IDEA) ---(1) Spring集成

首先,需要Java JDK,(省略…)然后Intellij IDEA安装 (省略…)Tomcat 下载,到官网下载,然后解压到一个自己知道的位置就行啦,我用的8.5版本,个人建议不要用10,运气不好让你调bug到绝望。Maven下载,同样解压到自己知道的地方就行,然后在maven的目录下(比如apache-maven-3.5.0目录下)建立文件夹 responsitory,是用来放下载的jar包的,要不然自动放到C盘不太好。当然,如果用数据库的话下载MySql数据库,如果你不想用数据库(不用

2021-01-17 21:59:53 207

原创 1 (SSM) springMVC + spring + Mybatis(MySQL)学习笔记 ------ 阶段成果笔记

学习了一段时间spring,springMVC和Mybatis,从开始学到现在熬了好多夜晚,好几个深夜和bug作战,真是难受。打算写系列学习笔记,第一篇从一个小的成果说起吧,刚刚学的看这篇可能有点吃力,有个大概把握或者跳过之后再看都可以。项目在IEDA中完成,之前我写java都用 eclipse ,最开始也不想转到 IDEA, 现在觉得:真香。1 资源配置1.1资源依赖这个是本次Maven项目中的版本信息,具体如下,下面大概介绍一下。 <properties> <pro

2021-01-17 20:43:08 141

原创 归并排序变形算法题目思考(likou 493翻转对 & 327 区间和的个数)

493 翻转对题解分析相对位置无关性解决这题首先要明白一个事实,就是i < j其实可以理解为j的相对位置在i之后,或者是说不一定需要严格的要求保持nums[i]和nums[j]的位置。就好比要统计两个数组a和b中,满足b[j] > a[i] 的总对数(a = [1,2,3], b=[1,7] 总对数是<1,7><2,7><3,7>这三对),b中元素的位置可以任意改变, 这并不会影响最终的统计结果。理解这一点后就很好理解归并排序中将两组合并前的排序过程,

2020-11-28 17:11:33 203

原创 3. Android开发 - 简单布局

2020-11-15 21:20:38 132

原创 3. Linux学习笔记 - 用户类别和权限

用户分类和文件(目录)权限在Linux用户中,对于某个文件主要分为三种不同的级别。即文件的拥有者(owner);用户组(group);他人(other)。用户组是指某个组别,这个组拥有这个文件的某些权限。类似于某个人归属某个家庭这样的概念。他人就是除了此外的其他的人了。当然,root是个例外,root无所不能。而就权限来说,分为r(读),w(写),x(执行)。对文件来说这些容易理解,需要注意的是linux中执行不类似windows一样,通过后缀进行分辨。Linux中文件后缀更像是用于习惯,使用者可以根据

2020-11-15 21:19:12 275

原创 2. Linux学习笔记-简要操作命令和关机

nice,开机啦,Ubuntu系统,继续学。终端,用户界面Ctrl + Alt + F1(2,3,4,5,6) 便可以进入终端。我用的Ubuntu系统,Ctrl + Alt + F1 进入了登录页面;Ctrl + Alt + F2 进入了图形界面系统; Ctrl + Alt + F3(4,5,6)都会进入终端。终端中登录需要注意一下,有时候疯狂输入用户名密码发现就是不对,不要慌,图形界面下输入 Ctrl + Alt + t 看看自己的用户名是什么,应该是你以为的用户名和系统的不一样。如果还是错的,那应

2020-11-15 21:15:25 192

原创 1. Linux学习笔记 - 浅谈计算机

最开始学习组成原理的时候,除了考试其实其它的感触不是很多。现在了解的多一点的时候,貌似还真的有一种感觉,这个东西并不是想象中的东西。(可能只是错觉,hhh)最开始只是总结一下计算机中很广泛的东西(可能有错,学的时间太久了)五大组成部件输入单元:(略)输出单元:(略++)存储:展开讲也不少,芯片类型功能啦,芯片的连接啦,片选逻辑啦等等。主要是内存和外存吧。外存一般用RAM组成,功耗比较低,掉电后数据不丢失,价格便宜,但是速度低。而内存是用ROM组成,功耗比较高一点,速度快,目的是是的存储更加匹配CP

2020-11-15 21:10:27 70

原创 2. Android开发 -像素,颜色和屏幕分辨率

像素Android支持的像素有px(像素),in(英寸),mm(毫米),pt(磅 1/72英寸),dp(dip)和像素无关的显示单位,sp用于字体。常见的有px,dp和sp。px就是像素,比较常见。dp显示和物理设备没有关系,只和屏幕尺寸有关。sp设置的字体会随着手机系统的字体变化而变化。dp和sp的转化关系和屏幕的像素密度相关。px = (int)(dp * density)。获取屏幕像素密度context.getResources().getDisplayMetrics().density;在

2020-11-15 21:06:48 179

原创 1. Android开发 Android Studio工程目录结构

按照默认的方法安装设置,一般可以完成Android Studio的安装以及运行第一个Hello World程序。虽然也有一些坑。但是建立完成后工程目录一眼看去还是计较茫然的。学习之前,简单了解一下工程目录结构还是需要的。新建的工程目录大概是这样,忽略图中我自己新建的MainActivity2和activity_main2.xml文件。当然,还有最后一个板块Gradle Scripts没有放入图中。manifests:一般只有一个子目录AndroidManifest.xml,是App运行的配置文件,会

2020-11-15 21:04:52 145

原创 2. tensorflow2.0学习---Tensor创建和维度变换

创建Tensor从numpy, list数据中获得创建一个Tensor数据可以从list或者numpy矩阵中获得。不过再list中,每个数据的类型可能不一致,而转化为Tensor要求数据类型应该是一致的,不过这种一致并非十分严格,也可以说逻辑上可以的数据便可以转化为Tensor,例如list数组中可能同时存在int类型和float类型,转化为Tensor时数据会自动扩充为float类型。tf...

2020-03-08 12:54:40 746 1

原创 1. tensorflow2.0学习---数据类型,属性,转换

tensorflow2.0学习—数据类型,属性,转换最近忽然想系统的学习一下tensorflow的知识,虽然之前也写过神经网络的代码,但是总是觉得自己从来没有学会,在次将博客作为自己的笔记,希望这次学完可以有比较深的体会。加油。。。。。。数据格式详细区分其实tensorflow中的Tensor有很多操作和numpy中的array和python中的list相同,但是也有很多不同的地方。首先,...

2020-03-08 09:58:59 781

空空如也

空空如也

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

TA关注的人

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