03 2022 档案
摘要:Java多线程05:死锁、LOCK和线程协作 死锁 多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能运行,而导致两个或者多个线程都在等待对方释放资源,都停止执行的情形。某一个同步块同时拥有**“两个以上对象的锁”** 时,就可能会发生“死锁“的问题 死锁避免方法 避免死锁的四个必要条
阅读全文
摘要:Java多线程04:线程优先级、守护线程和线程同步 线程优先级 Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行 线程的优先级用数字表示,范围从0~10 Thread.Min_PRIORITY = 1; Thread.MAX_PRIO
阅读全文
摘要:Java多线程03:线程的五大状态 线程的五大状态 线程方法 停止线程 不推荐使用JDK提供的stop()、destroy()方法【已废弃】 推荐线程自己停止下来 建议使用一个标志位进行终止变量,当flag=false,则终止线程运行。 实例: package com.lurenj.thread;
阅读全文
摘要:Java多线程02:静态代理模式和Lambda表达式 静态代理模式 真实对象和代理对象都要实现同一个接口 代理对象要代理真实角色 好处: 代理对象可以做很多真实对象做不了的东西 真实对象专注做自己的事情 线程底部的实现原理 以婚庆公司代码作为实例: package com.lurenj.thread
阅读全文
摘要:Java多线程01:什么是线程和线程的创建 线程概念 线程就是独立的执行路径 在程序运行时,即使没有自己创建的线程,后台也会有多个线程,如主线程,gc线程 main()称之为主线程,为系统的入口,用于执行整个程序 在一个进程中,如果开辟了多个线程,线程的运行由调度器安排调度,调度器是与操作系统紧密相
阅读全文
摘要:SpringBoot基础03:静态资源和首页定制 静态资源 在SpringBoot中,可以使用一下方式处理静态资源 webjars http://localhost:8080/webjars/ public,static,/**,resources http://localhost:8080 优先级
阅读全文
摘要:SpringBoot基础02:自动装配原理、yaml语法和JSR-303数据校验 自动装配原理初探 pom.xml spirng-boot-dependencies:核心依赖在父工程中! 我们在写或引入一些Springboot依赖的时候不需要指定版本,因为有这些版本仓库 启动器 在pom.xml中是
阅读全文
摘要:SpringBoot基础01:创建项目和编写HTTP接口 创建项目 创建新项目 选择File->New Module->Spring Initializr,配置相关参数 ) 通过上面步骤完成基础项目的创建,会自动生成以下文件。 程序的主程序类 一个application.properties 配置文
阅读全文
摘要:SpringBoot和微服务架构 什么是SpringBoot 什么是Spring Spirng是一个开源框架,2003年兴起的一个轻量级的Java开发框架,作者:Rod Johnson。 Spring是为了解决企业级应用开发的复杂性而创建的简化开发 Spring是如何简化Java开发的 为了降低Ja
阅读全文
摘要:Java异常 异常机制(Exception) 什么是异常 实际工作中,遇到的情况不可能是非常完美的。比如:你在写的某个模块,用户输入不一定符合你的要求;你的程序要打开某个文件,这个文件可能不存在或文件格式不对;你要读取数据库的数据,数据可能是空的;我们的程序再跑着,内存或硬盘就可能满了等等。 软件程
阅读全文
摘要:Java面向对象03:抽象类、接口和内部类 抽象类 abstract 修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类 抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类 抽象类,不能使用new关键字来创建对象,它是用来让子类继承的
阅读全文
摘要:Java面向对象02:封装和继承 封装 该露的露,该藏的藏 我们程序设计要追求**“高内聚,低耦合”** 。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合就是仅暴露少量的方法给外部使用。 封装(数据的隐藏):通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为
阅读全文
摘要:Java面向对象01:类与对象的关系、创建和初始化对象 面向过程和面向对象的思想 面向过程思想 线性思维,步骤清晰简单,第一步做什么,第二步做什么...... 面向过程适合处理一些较为简单的问题 面向对象思想 物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考,
阅读全文
摘要:Java数组02:数组使用、多维数组、冒泡排序和稀疏数组 数组使用 数组用在普通For循环 package com.lurenj.array; public class ArrayDemo05 { public static void main(String[] args) { int[] arra
阅读全文
摘要:Java数组01:数组的定义、声明、创建、初始化和内存分析 数组的定义 数组是相同类型数据的有序集合 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成 其中,每个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们 数组的声明创建 首先必须声明数组变量,才能在程序中使用数组。
阅读全文
摘要:Java方法 何谓方法? Java方法是语句的集合,他们在一起执行一个功能。 方法是解决一类问题的步骤的有序组合 方法包含在类或对象中 方法在程序中被创建,在其他地方被引用 以System.out.println()为例:调用系统类(System)里的标准输出对象(out)中的输出方法(printl
阅读全文
摘要:Java流程控制03:循环结构 循环结构 while 循环 while是最基本的循环,它的结构为: while(布尔表达式){ //代码语句 } 只要布尔表达式为true,循环就会一直执行下去。 我们大多数情况是会让循环停止下来的,我们需要一个表达式失效的方式来结束循环。 少部分情况需要循环一直执行
阅读全文
摘要:Java流程控制02:顺序结构和选择结构 顺序结构 Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。 顺序结构是最简单的算法结构。 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个一次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构 。 选择
阅读全文
摘要:Java流程控制01:Scanner对象 Scanner对象 Java提供的一个工具类,用于获得用户的输入,位于java.util包内,java.util.Scanner是Java5的开始的新特征。 基本语法: Scanner s = new Scanner(System.in); 通过Scanne
阅读全文
摘要:Java基础04:包机制、JavaDoc生成文档 包机制 包的本质就是文件夹。 为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。 包语句的语法格式为:package pkg1[. pkg2[. pkg3...]]; package com.lurenj.operator;//必须写在
阅读全文
摘要:Java基础03:基本运算符 基本运算符 Java语言支持如下运算符 算术运算符:+,-,*,/,%(取余,模运算),++,-- 赋值运算符:= 关系运算符:>,<,>=,<=,==,!=,instanceof 逻辑运算符:&&,||,! 位运算符:&,|,^,~,>>,<<,>>>(了解就好) 条
阅读全文
摘要:Java基础02:类型转换、变量、常量 类型转换 由于Java是强类型语言,所以要进行有些运算的时候需要用到类型转换,运算中不同类型的数据先转化为同一类型,然后进行运算。 优先级从低到高排序: byte->short->char->int->long->float->double 转换类型分为强制转
阅读全文
摘要:Java基础01:注释、标识符、数据类型 注释 /*** * _ooOoo_ * o8888888o * 88" . "88 * (| -_- |) * O\ = /O * ____/` '\____ * . ' \\| |// `. * / \\||| : |||// \ * / _||||| -
阅读全文
摘要:Java入门——介绍及安装 Java的特性和优势 简单性(无头文件、无指针运算、无需分配内存、语法基于C等) 面向对象(模拟人的思维去写程序,万物皆对象) 可移植性(跨平台,write once run anywere) 高性能(即时编译,让某些代码的编译接近C++) 分布式(利用URL处理TCP/
阅读全文
摘要:计算机知识科普 什么是计算机 Computer:全称电子计算机,俗称电脑。 能够按照程序运行,自动、告诉处理海量数据的现代化智能电子设备。 由硬件和软件所组成 常见的形式有台式计算机、笔记本计算机、大型计算机等。 广泛应用在:科学计算,数据处理,自动控制,计算机辅助设计,人工智能,网络等领域 硬件及
阅读全文
摘要:Markdown学习 一级标题#+空格+标题 二级标题##+空格+标题 三级标题###+空格+标题 四级标题####+空格+标题 最多六级标题,通过#数量来控制 字体 通过两侧添加*/~~控制字体样式 Hello,World! 加粗** Hello,Wold! 斜体* Hello,Wold! 斜体加
阅读全文