自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线程安全。

许多在单线程情况下的代码放到多线程环境下容易出现线程安全问题通过模拟取钱过程演示线程安全问题。

2022-06-19 09:51:18 183 1

原创 多线程基础二

二、实现Runnable接口创建线程类实现步骤:①定义类实现Runnable接口,并重写Runnable接口的run()方法,该run()方法的方法体就代表了 线程需要完成的任务。②创建Runnable实现类的实例,并以此实例作为Thread的target来创建Thread对象,该Thread对 象才是真正的线程对象。③调用该Thread对象的start()方法来启动该线程。Java线程状态,线程的五种状态:1)新建状态(New):线程对象实例化后就进入了新建状态。2)就绪状态(Runnable

2022-06-07 08:11:14 85

原创 多线程基础

了解进程和线程:几乎所有的操作系统都支持进程的概念,所有运行中的任务通常对应一个进程(Process)。当一个程序 进入内存运行时,即变成一个进程。进程是处于运行过程中的程序,并且具有一定的独立功能,进程是 系统进行资源分配和调度的一个独立单位一般而言。进程包含如下三个特征。1、独立性:进程是系统中独立存在的实体,它可以拥有自己独立的资源,每一个进程都拥有自己私有的地址空间。在没有经过进程本身允许的情况下,一个用户进程不可以直接访问其他进程的地址空间。2、动态性:进程与程序的区别在于,程序只是一个静态

2022-05-29 08:58:42 84

原创 Java类加载机制和反射机制(二)

Class类常用类:forName(String className) 返回与带有给定字符串名的类 或接口相关联的 Class 对象。代码:Class<?>studentClass=Class.forName("com.gx.refect.Student");forName(String name, boolean initialize, ClassLoader loader) 使用给定的类加载器,返回与 带有给定字符串名的类或接口 相关联的 Class 对象。getClassLoade

2022-05-15 10:28:03 70

原创 Java类加载机制和反射机制(一)

Java类加载机制:jvm把class文件加载到内存,并对数据进行校验、解析和初始化,最终形成jvm可以直接使用的java类型 的过程。加载:将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区中的运行时数据结 构,在堆中生成一个代表这个类的java.lang.Class对象,作为方法区类数据的访问入口。链接:将java类的二进制代码合并到jvm的运行状态之中的过程,链接过程又分为3个过程:验证:确保加载的类信息符合jvm规范,没有安全方面的问题。准备:正式为类变量(

2022-05-06 20:04:42 64

原创 输入/输出(六)

对象序列化的目标是将对象保存到磁盘中,或允许在网络中直接传输对象。对象序列化机制允许把内存 中的Java对象转换成平台无关的二进制流,从而允许把这种二进制流持久地保存在磁盘上,通过网络将 这种二进制流传输到另一个网络节点。其他程序一旦获得了这种二进制流(无论是从磁盘中获取的,还 是通过网络获取的),都可以将这种二进制流恢复成原来的Java对象序列化的含义和意义:序列化机制允许将实现序列化的Java对象转换成字节序列,这些字节序列可以保存在磁盘上,或通过网 络传输,以备以后重新恢复成原来的对象。序列化机制使

2022-04-26 08:13:15 77

原创 输入/输出(五)

访问数组:ByteArrayOutputStream和ByteArrayInputStream类是在创建它的实例时,程序内部创建一个byte型 别数组的缓冲区,然后利用ByteArrayOutputStream和ByteArrayInputStream的实例向数组中写入或 读出byte型数据。在网络传输中我们往往要传输很多变量,我们可以利用ByteArrayOutputStream把所 有的变量收集到一起,然后一次性把数据发送出去。 ByteArrayOutputStream:可以捕获内存缓冲区的数据,转换

2022-04-20 08:59:35 77

原创 输入/输出(四)

打印流在整个IO包中,打印流是输出信息做方便的类,主要包含字节打印流(PrintStream)和字符打印流 (PrintWriter)。打印流提供了非常方便的打印功能,可以打印任何的数据类型,例如:小数、整数、字 符串等等。 打印流只有输出没有输入。是一种处理流。构造器:PrintStream(File file) /PrintWriter(File file):构造方法通过一个File对象实例化PrintStream/PrintWriter类PrintStream(OutputStream out)

2022-04-07 14:33:58 51

原创 输入/输出(三)

Reader类的方法close() 关闭该流并释放与之关联的所有资源。 mark(int readAheadLimit) 标记流中的当前位置。1markSupported() 判断此流是否支持 mark() 操作。read() 读取单个字符。read(char[] cbuf) 将字符读入数组。read(char[] cbuf, int off, int len) 将字符读入数组的某一部分。read(CharBuffer target) 试图将字符读入指定的字符缓冲区。ready() 判断是

2022-03-27 10:47:44 38

原创 Java 常用类(九)

Java 常用类:BigDecimal类:为了能精确表示、计算浮点数,Java提供了BigDecimal类,该类提供了大量的构造器用于创建 BigDecimal对象,包括把所有的基本数值型变量转换成一个BigDecimal对象,也包括利用数字字符串、 数字字符数组来创建BigDecimal对象。常用构造器:BigDecimal(int val):将 int 转换为 BigDecimal。BigDecimal bD3=new BigDecimal(60);System.out.println(“

2021-07-17 19:00:16 58

原创 Java 常用类(八)

Java 常用类:String、StringBuffer和StringBuilder常用的转换方法:subSequence(int start, int end):返回一个新的字符序列,它是该序列的子 序列。substring(int start):返回一个新的String,包含此字符序列中 当前包含的字符的子序列。substring(int start, int end):返回一个新的String,包含此序列中当前 包含的字符的子序列。toString():返回表示此序列中数据的字符串。

2021-07-07 08:01:51 84

原创 Java 常用类(七)

Java 常用类:String、StringBuffer和StringBuilder常用的转换方法:codePointCount(int beginIndex, int endIndex):返回此序列的指定文本范围内的Unicode 代码点数。StringBuffer sbfer=new StringBuffer("fdjlaskkkkkkksjhafaf ");System.out.println(sbfer.codePointAt(3,10));输出:7delete(int start

2021-06-28 08:00:54 62

原创 Java 常用类(六)

Java 常用类:String 类常用的转换方法:split(String regex):根据给定正则表达式的匹配拆分此字符串。String str4=“ahlaiufea;aifoajo.afajak,ajaoj.a;jfao,”;// 可以以字母、符号……进行拆分字符串//用(.)拆分的时候要注意,(.)在正则表达式中代表一切字符、通配符,那么每一个字符都可以作为拆分条件,就没意义,没法拆分// 如果要用(.)进行拆分,则需要转义字符 (\)// (.)是字符串中的转义 这里要在添加一

2021-06-17 19:42:51 73

原创 Java 常用类(五)

Java 常用类:String 类常用的转换方法:String valueOf():把传入的变量转成字符串。String str1=“这是一串中文,abc 123”;char[] chars1=str1.toCharArray();for (int i = 0; i < chars1.length; i++) {System.out.print(chars1[i]+" ");}System.out.println();String str3_1=String.valueOf(c

2021-06-07 11:46:38 69

原创 Java 常用类(四)

Java 常用类:String 类常用判断方法:equals(Object obj):比较字符串的内容是否相同,区分大小写String str1=“Abc”;String str2=“ABC”;System.out.println(str1.equals(str2));输出:falseequalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写String str1=“Abc”;String str2=“ABC”;System.out.printl

2021-05-30 12:05:52 38

原创 Java常用类(三)

Java 常用类:String 类常用的获取方法:length():获取字符串的长度。String str1=“dajfaklaj sjalkfa”;System.out.println("length: "+str1.length());输出:length: 17charAt(int index):获取指定索引位置的字符String str1=“dajfaklaj sjalkfa”;System.out.println(str1.charAt(7));输出:aindexOf(

2021-05-17 21:46:19 31

原创 Java 常用类(二)

Java 常用类:String 类常用构造器:String():初始化一个新创建的 String 对象,使其表示一个空字符序列。String str1=new String();String(byte[] bytes):通过使用平台的默认字符集解码指定的 byte 数组,构造一个新 的 String。byte[] bytes=new byte[] {-24,-65,-103,-26,-104,-81,-28,-72,-83,-26,-106,-121}; //默认UTF-8String

2021-05-08 14:50:21 1342

原创 Java 常用类

Java 常用类:System 类:代表当前java程序的运行平台可以向外输出数据:System.out.print(“输出到控制台”);System.err.println(“打印错误到控制台”);可以向内输入数据Scanner scanner=new Scanner(System.in);常用方法:currentTimeMillis():返回以毫秒为单位的当前时间。时间戳:代表从UTC 1970年1月1日00:00:00开始经过的秒数,不考虑闰秒,long ms=System.cu

2021-04-28 21:45:18 40

原创 查询

加载一个表格1.1.声明表格,执行渲染,有三种渲染方式:1).方法渲染、用JS方法的配置完成渲染,无需写过多的HTML,在JS中指定原始元素,再设定各项参数即可。2).自动渲染,HTML配置,自动U型安然,无需写过多JS,可专注于HTML表头部分。3).转为静态表格,转化一段已有的表格元素,无需配置数据接口,在JS中指定表格元素,并简单地给表头加上自定义属性即可var layui表格名;表名= layui表格名.render.render({1.2.参数elem: ‘#demo’ //指定原始 .

2020-08-18 11:33:52 188

原创 登录

在登录视图页面声明一个全局变量存放layui模块,方便整个页面中调用:var layer;加载layui模块:layui.use(‘layer’, function () { layer = layui.layer; });开始写登录按钮的点击事件:3.1.获取表单数据:var 变量名= $(’#form表单ID[name=“数据自定义名”]’).val();3.2.数据验证:判断数据不为undefined,null……3.3.数据提交:3.3.1.开启加载层:加载层一般在网络请求前打开va.

2020-08-18 11:32:20 114

原创 上传图片

图片上传,图片一般都是通过保存到磁盘上,然后把文件名称(路径)保存到数据库,直接保存会导致数据库内存庞大,造成运行缓慢、卡顿1、添加一个头像ID,设置图片的样式,长宽高,/2、隐藏文件选择框,用于弹出用户头像选择,图片一般都是JPEG、JPG等格式,所以用accept进行筛选图片,,定义一个ID和一个改变事件3、给图片一个点击事件:双击图片,触发文件输入框的点击事件,从而打开文件选择function showImageSelectDialog() {KaTeX parse error: Expe

2020-08-09 21:06:33 107

原创 文件的导入

导出数据:数据大部分都是表格形式,所以经常需要导入到Excel中,文件的导入导出利用了浏览器的文件下载功能,但是都用window.open打开新窗口来下载,在本页面打开,浏览器很难识别到需要下载的文件首先要联表查询需要导出的数据,有两种msoffice excel 、NPOI(JAVA POI)选择,通常我们都使用后者进行导出操作1、 创建工作簿NPOI.HSSF.UserModel.HSSFWorkbook workbook= new NPOI.HSSF.UserModel.HSSFWorkbook

2020-08-09 21:03:21 328

原创 增删查改

在MVC中使用最多的就是增删查改增,就是增加,点击按钮实现一个添加的效果,1,在视图页面给增加按钮一个ID,通过ID去获取按钮的点击事件(添加旅客)$("#btnAddPassenger").click(function(){})2, 获取添加的旅客信息var passengerInfors = [];for (var i = 1; i <= passengerNo; i++) {var passenger = {};.each(.each(.each(("#formPassenger"

2020-08-09 20:57:16 103

原创 jQuery异步ajax

知识点:1、jQuery中的$.ajax({settings})方法$.ajax({settings});type:类型,“POST"或"GET”,默认值为"GET"url:发送请求的地址async:设置异步,(默认: true) 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。...

2020-05-05 19:48:48 121

原创 jQuery动画效果

知识点:1、jQuery基本效果1)show([speed],[easing],[fn]): 显示隐藏的匹配元素2)hide([speed],[easing],[fn]): 隐藏显示的元素3)toggle([speed],[easing],[fn]):用于绑定两个或多个事件处理器函数,以响应被选元素的轮流的 click 事件。如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见...

2020-05-03 10:44:14 74

原创 jQuery事件

知识点:1、(document).ready(function())页面载入事件可以在同一个页面中无限次地使用(document).ready(function(){})页面载入事件 可以在同一个页面中无限次地使用(document).ready(function())页面载入事件可以在同一个页面中无限次地使用(document).ready()事件。其中注册的函数会按照(代码中的)先后...

2020-05-02 10:28:02 106

原创 jQueryDOM节点操作

知识点:1、jQuery中节点的创建语法:()函数处理,()函数处理,()函数处理,(“html结构”)jQuery创建的节点是一个jQuery对象2、jQuery节点的插入 向元素内部插入DOM节点 append() 向每个匹配的元素内部追加内容 appendTo() 把所有匹配的元素追加到另一个指定的元素元素集合中。 prepend() 向每个匹配的元素内部前置内容 ...

2020-04-30 15:22:57 126

原创 jQuery基础使用与样式篇

知识点:1、 jQuery:是一个“写得少,做得多”的JavaScript函数库jQuery库包含以下功能:HTML 元素选取HTML 元素操作CSS 操作HTML 事件函数JavaScript 特效和动画HTML DOM 遍历和修改AJAXUtilities除此之外,jQuery还提供了大量的插件2、 jQuery的使用:它是一个JavaScript脚本库,不需要特别的...

2020-04-30 15:18:25 87

原创 JavaScript异步Ajax

知识点:1、 JSON:JavaScript对象表达式发(JavaScript Object Notation)JSON是存储和交换文本信息的语法:JSON是轻量级的文本数据交换格式JSON独立于语言和平台JSON具有自我描述性,更容易理解。类似于xml,比XML更小、更快、更易解析(XML:指可扩展标记语言。XML被设计用来传输和存储数据。)2、 JSON语法JSON语法是J...

2020-04-29 14:20:17 240 1

原创 JavaScript表单提交

知识点:1、 Form表单的属性action与methodaction:值为URL,规定当提交表单是向何处发送表单数据method:值为get/post,规定用于发送form-data的HTTP方法(提交表单的方式)URL可能的值:绝对 URL - 指向其他站点(比如 src=“www.baidu.com”)相对 URL - 指向站点内的文件(比如 src="/Form00/getDat...

2020-04-29 14:15:49 116

原创 JavaScript BOM

知识点:BOM:浏览器对象模型,提供了很多对象,用于访问浏览器的功能,这些功能与任何网页内容无关。BOM将浏览器中的各个部分转换成了一个一个的对象,我们通过修改这些对象的属性,调用他们的方法,从而控制浏览器的各种行为BOM可以使我们通过JS来操作浏览器,在BOM中提供了一组对象,用来完成对浏览器的操作。1.Window对象- 代表的是整个浏览器窗口,同时window也是网页中的全局对象2...

2020-04-28 09:33:08 49

原创 JavaScript事件

1、 事件简介:事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间,avaScript 与 HTML 之间的交互是通过事件实现的。对于 Web 应用来说,有下面这些代表性的事件:单击事件、鼠标移入移出事件、键盘按下/弹起事件等等事件就是用户与浏览器的交互行为:onclick 鼠标点击某个对象ondblclick 鼠标双击某个对象onerror 当加载文档或图像时发生某个错误onfoc...

2020-04-27 15:32:08 118

原创 JavaScript DOM文档对象模型

知识点:1、 DOM对象:全称为Document Object Model文档对象模型,JS中通过DOM来对HTML 文档进行操作。文档:文档表示整个HTML网页文档对象:网页表示的就是整个网页文档模型:使用模型来表示对象之间的关系,方便获取对象节点:节点Node,是构成我们网页的最基本的组成部分,网页中的每一个部分都可以称为是一个节点比如:html标签、属性、文本...

2020-04-27 15:26:50 84

原创 JavaScript正则表达式

知识点:1、 正则表达式:又称为规则表达式,英文名为Regular Expression,在代码中常简写为regex、regexp或RE正则表达式用于定义一些字符串的规则,计算机可以根据正则表达式,来检查一个字符串是否符合规则,可以将字符中符合规则的内容提取出来语法: var 变量=new RegExp(“正则表达式”,“匹配模式”);使用typeof检查正则对象,则会返回object这...

2020-04-26 09:54:01 68

原创 JavaScript内建对象

知识点:1、数组(Array)1)、 数组也是对象(内建对象)2)、它和我们普通对象功能类似,也是用来存储一些值的3)、不同的是普通对象使用字符串作为属性名,而数组是使用数字来作为索引操作元素4)、索引:从0开始的整数就是索引5)、数组的存储性能比普通对象要好,在开发中我们经常使用数组来存储一些数据2、创建数组对象语法:数组[索引]=值3、读取数组中的元素语法:数组[索引]...

2020-04-25 11:24:36 61

原创 JavaScript函数

知识点:1、 函数:函数也是一个对象,函数中可以封装一些功能,在需要的时候可以执行这些功能使用typeof检查一个函数对象时,会返回一个function封装函数:封装的代码以字符串的形式传递给构造函数,封装到函数中的代码不会即可执行,函数中的代码会在函数调用的时候执行,调用语法:函数对象();2、 函数的创建:使用构造函数创建一个函数对象,创建一个构造函数,专门用来创建Person对象,...

2020-04-25 09:24:20 62

原创 JavaScript对象

知识点:1、 对象:看到的值只要不是String 字符、Number数值、Boolean 布尔、Null 空值、Undefined 未定义这五种,都为对象。对象属于一种复合数据类型,在对象中可以存储多个不同数据类型的属性对象分类:内建对象:由ES中定义的对象,在任何ES的实现中都可以使用例如:Math String Number Bolean Function Object…宿主对象...

2020-04-23 14:39:00 80

原创 JavaScript流程控制语句

知识点:流程控制语句有三种基本流程机构1) 顺序结构:按照顺序一条条执行代码,从上到下2) 分支结构:执行代码的时候可以根据条件来选择,条件越多,结果越多,分支越多3) 循环结构:重复做一件事情。1、做判断(if语句):基于条件成立执行相应代码使用的语句。语法:if(条件){条件成立执行代码}2、if…else语句:如果条件成立,执行代码,否则执行不成立时的代码语法:if(条...

2020-04-22 15:20:42 646

原创 JavaScript运算符

知识点:1、 运算符:也叫操作符,通过运算符可以对一个或多个值进行运算,并获取结果算数运算符:+ 对两个值进行加法运算,并返回运算结果,如果两个字符串进行拼接, 任何值和字符串进行加法运算,都会先转换为字符串在拼接对两个值进行减法运算,并返回运算结果对两个值进行乘法运算,并返回运算结果/ 对两个值进行除法运算,并返回运算结果% 取模 取模运算(取余数)++ 自增–...

2020-04-21 16:48:01 119

原创 JavaScript数据类型

知识点:1:字面量:一些不可以改变的值,也就是具体的值;一般不会直接使用字面量。例如:1、2、3、4……2:变量:变量可以用来保存字面量, 变量的值可以任意改变。3:标识符:在JS中可以自主命名的都可以称为标识符。命名规则:1、可以含有字母、数字、_(下划线)、$;2、不能以数字开头3、不能用ES中的关键字与保留字4、一边使用驼峰写法:首字母小写或每个单词开头大写,其余小写例如:...

2020-04-21 16:34:33 75

空空如也

空空如也

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

TA关注的人

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