自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 如何实现并发的原子性 可见性 有序性

在JAVA多线程并发中有三个性质,分别为原子性、可见性、有序性,接下来将会介绍java多线程并发时是如何满足这三个性质的。JMM是什么首先介绍JMM(java内存模型)是什么,JMM定义了一种内存模型来屏蔽各个硬件平台和操作系统的内存访问差异,已实现java程序在各个平台下都能达到一致的内存访问效果。在java中,所有的实例域、静态域和数组元素都存储在堆内存中,堆内存在线程之间共享,这被称为共享内存。线程之间的共享变量存储在主内存之中,每个线程的工作内存存储了共享变量的副本。就如下图所示一样,每个线

2022-01-11 20:59:53 143

原创 JAVA内存屏障

一. java内存屏障1.1 什么是内存屏障(Memory Barrier)?内存屏障是一个CPU指令。基本上,它是这样一条指令:a) 确保一些特定操作执行的顺序;b) 影响一些数据的可见性(可能是某些指令执行后的结果)。编译器和CPU可以在保证输出结果一样的情况下对指令进行重排序,使性能得到优化。插入一个内存屏障,相当于告诉CPU和编译器先于这个命令的必须先执行,后于这个命令的必须后执行。内存屏障另一个作用是强制更新一次不同CPU的缓存。例如,一个写屏障会把这个屏障前写入的数据刷新到缓存,这样

2022-01-11 20:45:00 349

原创 classfile解析的内容

1. class文件结构首先我们先编写一段代码package com.kevin;public class Testjvm { public static void main(String[] args) { System.out.println("Hello Word"); }}然后运行程序生成 .class 文件package com.kevin;public class Testjvm { public Testjvm() { }

2022-01-09 22:46:00 241

原创 Spring

Springspring是什么Spring是一个主流的JavaWeb开发框架,该框架是一个轻量级的应用框架,具有很高的凝聚力和吸引力。Spring框架因为其强大的功能和牛逼的性能越来越受开发人员的喜欢。那就跟光棍五十年遇到女人一样的饥渴啊。Spring是分层的 Java SE/EE full-stack 轻量级开源框架,以IOC(Inverse of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)为内核,使用基本的JavaBean完成以前只可

2021-09-14 17:29:22 197

原创 深拷贝和浅拷贝

浅拷贝和深拷贝开发过程中,有时会遇到把现有的一个对象的所有成员变量属性拷贝给另一个对象的需求。比如说对象 A 和对象 B,二者都是 Class C 的对象,具有成员变量 a 和 b,现在对对象 A 进行拷贝赋值给 B,也就是 B.a = A.a; B.b = A.b;这时再去改变 B 的属性 a 或者 b 时,可能会遇到问题:假设 a 是基础数据类型,b 是引用类型。当改变 B.a 的值时,没有问题;当改变 B.b 的值时,同时也会改变 A.b 的值,因为其实上面的例子中只是把 A.b 赋值给了 B.b

2021-08-18 10:35:03 176

原创 HashMap底层原理

HashMap底层原理在说HashMap底层原理之前,我们先来说一下HashMap与Hashtable和ConcurrentHashMap的区别。这篇文章主要去说JDK1.8版本的HashMap,其实他们的原理都差不多,都是数组加链表的存储形式。再讲之前我们先了解一下Map的继承体系:HashMap与Hashtable的区别相同点HashMap和Hashtable都是基于哈希表实现的,其内部每个元素都是key-value 键值对,HashMap和Hashtable都实现了Map、Cloneab

2021-08-16 21:27:43 220

原创 京东登录页

京东登录页程序代码<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title> <style> *{ margin: 0px; padding: 0px; } #_head{ margin: 0px 0px 0px 100px; height: 60px; } #_h

2021-05-30 01:33:16 213

原创 python大作业01

python大作业01使用组合数据类型(列表,元组,字典,集合)中任意一种存储方式,完成一个简单的学生管理系统,可以多次录入学生信息到系统并完成基本的 增加、删除、修改、查询操作。学生信息: 学号,姓名,性别,年龄,专业;程序代码def add(num, stu_infion): while(1): while(1): stu_num = input("请输入学号:") if stu_num in stu_infion[0]:

2021-05-25 18:31:29 4729 3

原创 安装python及pycharm

安装python点击下面程序安装python选择自定义安装,并勾选最下面选项勾选所有选项等待安装安装完成pycharm的安装点击下面程序安装pycharm双击图标即可运行

2021-05-17 16:23:41 71

原创 LeetCode刷题

LeetCode刷题1、给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,2,4], target

2021-01-15 15:12:09 318

原创 判断推理刷题

判断推理刷题1、某次方案投票一共44人参与投票,从A、B、C、D、E五位个方案中选取最佳方案。A方案得选票23张,B方案得选票占第二位,C、D方案得票相同,E方案选票最少,得4票,那么B方案得选票( )张。A、5B、6C、7D、8正确答案: C【解析】B 是第二, 则A只能是第一, 不然AB和超过44所以 A1, B2, CD3, E5B + 2C = 44 - 23 - 4 = 173B >= B + 2C3B > 17B >= 6 → C<= 5又 C

2021-01-15 14:30:46 864 1

原创 数量关系刷题

数量关系刷题1、根据数字规律,填入问号处正确的一项是( )。A、20B、24C、18D、40**正确答案: B **【解析】下面两个角数字之和乘顶端数字2、一次朋友聚会,大家见面时总共握手45次。如果参加聚会的人和其余的每个人只握手一次,问参加聚会的共有多少人?A、8B、10C、12D、15正确答案: B【解析】假设有n个人,每个人需要与n-1个人握手一次,则总的握手次数应为n(n-1),由于握手是双方的,则每次握手被计算了两次,应当除去重复计算的次数,及正确的握手次数为n

2021-01-15 14:16:37 1037

原创 智力题刷题

智力题刷题1、如下图所示,1~9诸数各有一个规定的符号,请据此回答下列问题。符号组合“+)(/×=-”对应的是( )123456789(=/×\+-)A、68134527B、61384527C、61854327D、61854327正确答案: A【解析】根据这8个符号一一对应表格8个数字得出681345272、两枚导弹相距41,620公里,处于同一路线彼此相向而行。其中一枚以每小时36,000公里的速度行驶。另一枚以每小时24,000

2021-01-15 13:56:18 2283 1

原创 Java刷题

Java刷题1、创建一个标识有“开始”按钮的语句是( )。A、JTextField b = new JTextField(“开始”);B、JLabel b = new JLabel(“开始”);C、JCheckbox b = new JCheckbox(“开始”);D、JButton b = new JButton(“开始”);正确答案: D【解析】TextField 文本区域Label 标签Checkbox 勾选框Button 按钮2

2021-01-15 13:55:13 1207

原创 JavaSE笔记

第一部分 语法基础篇第1章 概述1.1 计算机组成部分计算机的组成主要分为两大类:硬件,软件硬件是可以看的到的一些物理部分,都是一些电子元器件软件是看不得到的部分,它是一些列的指令,这些指令主要用于控制硬件来完成一些列特定的工作 常见的硬件:CPU:Center Processing Unit 中央处理器 主要指令控制和数值计算功能(日常工作任务)内存:临时性存储数据的存储设备RAM,当内存不通电的时候,这数据也就消失了显卡GPU:Graphic Processing Unit 图形图像处

2021-01-15 13:54:04 476

原创 web前置作业

web前置作业C语言练习1、下面语句正确的是()A、x+1=5B、i++=1C、a++b=1D、x+=1正确答案: D【解析】1-首先赋值运算符“=”右值可以是任何常数、变量或者表达式(只要能生成一个值就行)。但左值必须是一个明确的、已命名的变量。 2-常用的双元运算符:+=,-=,*=,/= 解析: A:x+1=5,赋值运算符左边是表达式,不对; B:i++=1,从左到右运算是i=i+1=1,赋值运算符左边是表达式,错误; C:a++b=1,赋值运算符左边为表达式,错误。 D:x+=1,

2021-01-10 15:12:07 764

原创 web前置作业

web前置第3天作业C语言练习1.在标准C中,while和do_while的功能完全相同。请问这句话的说法是正确的吗?A、正确B、错误正确答案: B【解析】while循环会先判断循环执行条件,只有满足条件才会执行循环体而do while会先“do”一次循环体,然后再判断循环条件是否成立来决定是否继续执行循环体2.在for语句中,循环次数只由变量来控制的.说法是否正确?A、正确B、错误正确答案: B【解析】除了变量以外,for中的break语句也可以控制控制次数3.执行下列程序段

2021-01-09 15:24:33 1310

原创 web前端之CSS

第二部分 CSS3Cascading Style Sheet 层叠样式表CSS:负责显示逻辑Hyper Text Marked Language 超文本标记语言HTML:负责数据逻辑CSS主要有两大类的功能:对页面的字体、颜色、外观控制的非常细腻,让网页更加有活力通过CSS来控制整个网页的风格CSS可以向HTML一样单独成文件使用,xxx.css,或者嵌入到html当中使用2.1 CSS样式表的基本使用2.1.1 链接外部样式文件通过link标签将外部的css文件导入到我们当前的ht

2021-01-09 13:01:37 229

原创 web前端之HTML

web前端笔记整理有哪些端?Web前端手机也行电脑也行-浏览器移动端在手机PC客户端在电脑后端/后台前端主要负责两个事:1.负责用户数据的输入2.负责向用户展示数据前端主要的知识点HTMLCSSJavaScript第一部分 HTML5HTML:超文本标记语言 将数据进行基础的排版 根据标签的定义进行语义或排版1.1 HTML5常见元素与属性1.1.1 基本元素html:HTML文档的根标签head:页面的头部,存放的是一些关于页面的设置等信息,不会当成正文显示在网页

2021-01-07 13:43:20 450

原创 Web前置课作业

Web前置课第1天作业:1. 笔记总结有哪些端?Web前端手机也行电脑也行-浏览器移动端在手机PC客户端在电脑后端/后台前端主要负责两个事:负责用户数据的输入负责向用户展示数据前端主要的知识点HTMLCSSJavaScript第一部分 HTML5HTML:超文本标记语言 将数据进行基础的排版 根据标签的定义进行语义或排版1.1 HTML5常见元素与属性1.1.1 基本元素html:HTML文档的根标签head:页面的头部,存放的是一些关于页面的设置等信息,

2021-01-07 13:10:45 1024

原创 2021-01-07

电影页面代码如下<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title>热门电影</title> </head> <body> <div style=" width: 1000px; wmargin-top: 20px;padding: 20px;"> <h1>热门电影板块</h1&gt

2021-01-07 12:44:43 122

空空如也

空空如也

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

TA关注的人

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