自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CPU是如何执行程序的?

现代计算机的基本结构为五个部分:CPU、内存、总线、输入/输出设备。或许你了解了这些概念,但是你知道`a=1+1`在计算机中是如何执行的呢?控制单元 逻辑运算单元 寄存器 程序计数器 指令寄存器 通用存取 高速缓存 地址总线 数据总线 控制总线 程序的基本运行过程 CPU的指令周期 计算机指令

2023-01-03 11:29:04 2112 1

原创 《七》实际应用——生产者与消费者模型

实际应用——生产者与消费者模型《一》多线程基础——Java线程与进程的基本概念《二》多线程基础——Java线程入门类和接口《三》多线程基础——Java线程组和线程优先级《四》多线程基础——Java线程生命周期及转换《五》多线程基础——Java线程间的通信(互斥与协作)《六》实际应用——如何优雅的关闭线程《七》实际应用——生产者与消费者模型  并发编程(多线程)一直以来都是程序员头疼的难题。曾经听别人总结过并发编程的第一原则,那就是不要写并发程序,哈哈哈。后来发现,这样能够显著提高程序响应和

2022-12-07 19:39:00 513

原创 《六》实际应用——如何优雅的关闭线程

实际应用——如何优雅的关闭线程 开关的方式关闭线程 当你用多线程读取Excel中的数据存入数据库,要处理的某个Excel中有100万条数据时,假设你代码中设置10万条数据启动一个线程处理,最多同时启动5个线程。如果启动的线程在处理业务逻辑时报错了,你想立即关闭并重新启一个 打断的方式关闭线程 你的线程调用了wait()、或者sleep()等方法,进入等待或超时等待,在实际开发中,当你的线程调用第三方接口阻塞、读一个网络资源超时或者处理业务逻辑阻塞了,你即便修改开关的值或者打断它,依然无法使正处于阻塞中的线

2022-12-07 18:00:33 645

原创 《五》多线程基础——Java线程间的通信(互斥与协作)

多线程基础——Java线程间的通信(互斥与协作)1、锁与同步  在Java中,锁的概念都是基于对象的,所以我们⼜经常称它为对象锁。线程同步听着很高大上,cao,被吓了一跳,其实就是让线程之间按照⼀定的顺序执⾏。怎么实现呢?我们可以使⽤锁来实现它。Java多线程的等待/通知机制是基于 Object 类的 wait() ⽅法和 notify() ,notifyAll() ⽅法来实现的。notify()⽅法会随机叫醒⼀个正在等待的线程,⽽notifyAll()会叫醒所有正在等待的线程。sleep() join(

2022-12-07 17:56:21 393

原创 《四》多线程基础——Java线程生命周期及转换

多线程基础——Java线程生命周期及转换 Java线程的6个状态 NEW, RUNNABLE,BLOCKED,WAITING,TIMED_WAITING,TERMINATED;Java线程状态的转换(1)BLOCKED与RUNNABLE状态的转换  处于BLOCKED状态的线程是因为在等待锁的释放。假如这⾥有两个线程a和b(2)WAITING状态与RUNNABLE状态的转换 (3)TIMED_WAITING与RUNNABLE状态转换 (4)线程中断

2022-12-07 17:48:54 624

原创 《三》多线程基础——Java线程组和线程优先级

多线程基础——Java线程组和线程优先级1、线程组概念  Java中用ThreadGroup来表示线程组,线程组最主要的作用就是对线程进行批量控制。每个Thread必然存在于⼀个ThreadGroup中。执⾏main()⽅法线程组的名字是main。2、线程组的优先级 3、线程组的常用方法 3.1、getName()获取线程组名 3.2、getParent()获取父线程组名称线程组的统一异常处理线程组的数据结构

2022-12-07 17:45:34 329

原创 《二》多线程基础——Java线程入门类和接口

多线程基础——Java线程入门类和接口总结出《Java并发编程系列文章》,共计16篇,与君共勉。1、Thread JDK提供了Thread 类来让我们实现⾃⼰的“线程”类:继承 Thread 类,并重写 run ⽅法。2、Runnable JDK提供了 Runnalble 接⼝来让我们实现⾃⼰的“线程”3、Callable、Future与FutureTask 通常来说,我们使⽤ Runnable 和 Thread 来创建⼀个新的线程。但是它们有⼀个弊端,就是 run⽅法是没有返回值的。⽽有时候我

2022-12-07 17:42:08 228

原创 《一》多线程基础——Java线程与进程的基本概念

《Java并发编程系列文章》多线程基础——Java线程与进程的基本概念如果⼀个进程有多个子任务时,只能逐个得执行这些子任务,很影响效率。所以让一个进程包含了多个线程。进程和线程的区别进程是⼀个独立的运⾏环境,⽽线程是在进程中执⾏的⼀个任务。他们两个本质的区别是是否单独占有内存地址空间及其它系统资源(⽐如I/O):上下文切换上下文切换(有时也称做进程切换或任务切换)是指 CPU 从⼀个进程(或线程)切换到另⼀个进程(或线程)。上下文是指某⼀时间点 CPU 寄存器和程序计数器的内容。

2022-12-07 17:37:05 390

原创 Java IO系统及IO模型详细笔记

学习Java IO系统,重点是学会IO模型,了解了各种IO模型之后就可以更好的理解Java IO。java中IO系统可以分为Bio,Nio,Aio三种io模型关于Bio,我们需要知道什么是同步阻塞IO模型,Bio操作的对象:流,以及如何使用Bio进行网络编程,使用Bio进行网络编程的问题关于Nio,我们需要知道什么是同步非阻塞IO模型,什么是多路复用Io模型,以及Nio中的Buffer,Channel,

2022-09-28 17:37:21 370

原创 jar包和工程src里面class相同的加载优先级问题

先说结论:  jar包中的class文件和工程src路径下编译出来的class相同(包名,类名相同,逻辑不同)。会优先加载src路径下编译出来的class。  多个jar包中有相同的class (包名,类名相同,逻辑不同),手动指定加载顺序。$java_home/lib 目录下的java核心api$java_home/lib/ext 目录下的java扩展jar包java -classpath/-Djava.class.path所指的目录下的类与jar包$CATALINA_HOME/common目录下按照

2022-07-14 15:51:06 4679

原创 GeoTools处理空间数据 -- 教程

  Geotools是一个java类库,它提供了很多的标准类和方法来处理空间数据,同时这个类库是构建在OGC标准之上的,是OGC思想的一种实现。  而OGC是国际标准,所以geotools将来必定会成为开源空间数据处理的主要工具,目前的大部分开源软件,如udig,geoserver等,对空间数据的处理都是由geotools来做支撑。GeoTools入门(一)-- 源码构建GeoTools入门(二)-- 快速入门GeoTools入门(三)-- 初识Shape文件GeoTools入门(四)-- 创建shape

2022-07-14 11:20:35 1181

原创 Spring Boot应用内存飙升分析与解决

  工作中常常发现:一个简单的应用,内存竟然达到的内存。  其实,有些服务的体量根本用不了这么多。那么,在中如果未设置参数时,是如何配置的呢?  当运行一个项目时,如果未设置参数,默认会采用自身默认的配置策略。在资源比较充足的情况下,开发者倒是不太用关心内存的设置。但一旦涉及到资源不足,JVM优化,那么就需要了解默认的。  关于内存最常见的设置为初始堆大小和最大堆内存。很多人懒得去设置,而是采用的默认值。特别是在开发环境下,如果启动的微服务比较多,内存会被撑爆。  而默认内存配置策略分两种场景,和。以

2022-07-13 19:29:06 6895

原创 Spark环境搭建教程

Spark环境搭建 Spark Local本地模式 Standalone-独立集群 Standalone-HA Spark-On-Yarn Spark 是一种基于内存的快速、通用、可扩展的大数据分析计算引擎

2022-03-27 11:01:19 4195

原创 设计模式之单例模式详细讲解(2种饿汉设计模式、4种懒汉设计模式、创建型设计模式、结构型设计模式、行为型设计模式)

设计模式之单例模式详细讲解(2种饿汉设计模式、4种懒汉设计模式、创建型设计模式、结构型设计模式、行为型设计模式)。通过代码示例,讲解单例模式:2种饿汉模式的实现、4种懒汉模式实现、序列化和反射是如何破坏单例的、如何防止序列化和反射破坏单例,讲解创建型模式:工厂方法模式、抽象工厂模式、原型模式、建造者模式,代理模式、适配器模式、装饰者模式、桥接模式、外观模式、组合模式、享元模式,模板方法模式、策略模式、命令模式、职责链模式、状态模式、观察者模式、中介者模式、迭代器模式、访问者模式、备忘录模式、解释器模式

2022-03-15 19:58:10 187

原创 《5》SQL中的子查询

SQL中子查询的使用大大增强了SELECT查询的能力,因为很多时候查询需要从结果集中获取数据,或者需要从同一个表中先计算得出一个数据结果,然后与这个数据结果(可能是某个标量,也可能是某个集合)进行比较。

2022-03-06 14:52:04 410

原创 《4》MySQL 和 Oracle 中,SELECT 执行过程

MySQL 和 Oracle 中,SELECT 执行过程,SELECT 执行原理

2022-03-06 13:46:01 482

原创 《3》SQL中的函数

在 `SQL` 语言中,包括了`内置函数`和`自定义函数`。`内置函数`是系统内置的通用函数,`自定义函数`是我们根据自己的需要编写的。

2022-03-06 12:23:19 209

原创 《2》SQL概述和SELECT语句查询

SQL概述和SELECT语句查询

2022-03-05 17:55:35 370

原创 《1》数据库概述

为什么要使用数据库?就需要谈到什么是持久化。持久化把数据保存到可掉电式存储设备中以供之后使用。持久化的主要作用是将内存中的数据存储在关系型数据库中,`持久化`的实现过程大多通过各种关系数据库来完成。当然也可以存储在磁盘文件、XML数据文件中。

2022-03-05 15:44:33 207

原创 springBoot + Hikari 配置多数据源连接数据库

springBoot + Hikari 配置多数据源连接数据库

2022-03-01 17:31:37 9524

原创 mybatis批量插入更新数据

mybatis批量插入更新数据

2022-02-17 10:25:49 1153

原创 SpringBoot多数据源配置详细教程

SpringBoot多数据源配置详细教程 简单多数据配置 JdbcTemplate 多数据源配置 mybatis多数据源配置 mybatis-plus多数据源配置

2022-02-17 10:15:33 1188

转载 mybatis批量更新数据三种拼接方法效率对比

mybatis批量更新数据三种方法效率对比

2022-02-16 19:25:35 421

原创 1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in

1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in

2022-02-15 19:45:36 11089

原创 LOCK is not allowed in stored procedures

LOCK is not allowed in stored procedures

2022-02-15 19:42:34 561

转载 1422 - Explicit or implicit commit is not allowed in stored function or trigger.

1422 - Explicit or implicit commit is not allowed in stored function or trigger.

2022-02-15 19:40:23 2369 1

原创 《6》Mysql存储过程与存储函数详解

Mysql存储过程与存储函数详解 前言一、创建存储过程二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。一、创建存储过程  存储过程就是一条或者多条SQL语句的集合。  创建存储过程的语句为 CREATE PROCEDURE,创建存储函数的语句为CREATE FUNCTION。  调用存储过程的语句为CALL。  调用存储函数的形式就

2022-02-15 19:27:39 687

原创 Mysql事务日志

Mysql事务日志前言一、事务四大特性ACID的实现机制二、REDO日志1.为什么需要REDO日志?2.REDO日志的好处和特点?3.REDO的组成?4.REDO的整体流程5.REDO的刷盘策略三、UNDO日志1.为什么需要UNDO日志?2.UNDO LOG的作用3.UNDO LOG的组成最后前言  上一章《(一)Mysql数据库事务四大特性、事务状态、事务使用、事务隔离级别》讲到了事务有4种特性:原子性、一致性、隔离性、持久性。那么 ,这些特性到底是基于什么机制实现的呢?本章理论或许枯燥,但是

2022-02-14 21:37:28 897

原创 Mysql数据库事务四大特性、事务状态、事务使用、事务隔离级别

Mysql数据库事务四大特性、事务状态、事务使用、事务隔离级别前言一、事务是什么?二、事务四大特性ACID1.原子性2.一致性3.隔离性4.持久性二、事务的状态1.活动的2.部分提交的3.失败的4.中止的5.提交的三、事务的使用1.显式事务2.隐式事务3.隐式提交数据的情况4.commit和rollback5.保存点(savepoint)四、事务的隔离级别1.数据并发问题(1)脏写(2)脏读(3)不可重复读(4)幻读2.Sql中4种隔离级别3.Mysql如何设置事务的隔离级别最后前言  每当被问

2022-02-14 21:08:28 1324

原创 数据结构与算法

数据结构与算法前言一、数据结构与算法概述1、数据结构概述2、算法概述二、线性结构1. 数组1.1 数组元素的添加1.2 数组元素的删除1.3 面向对象的数组前言本文,主要是根据学习网课,以截图的形式记录学习笔记,方便后续复习和理解。一、数据结构与算法概述1、数据结构概述2、算法概述二、线性结构1. 数组1.1 数组元素的添加1.2 数组元素的删除1.3 面向对象的数组...

2021-04-11 16:44:24 87

转载 深入理解String类

深入理解String类前言1、字符串常量池1.1 内存区域1.2 存放内容1.3 手动入池intern方法2、为什么字符串设计成不可变的3、String 字符串编码如何转换?4、String、StringBuffer、StringBuilder5、如何判断两个String是否相等?6、Java 中如何判断一个字符串只包含大写字母7、为什么针对安全保密高的信息,char[] 比 String 更好?前言String是Java中一个不可变的类,所以他一旦被实例化就无法被修改。不可变类有很多优势。本文总结了为

2021-04-11 14:49:27 136

原创 Java编程思想之对象入门

一、Java编程思想之对象入门前言2、接口的由来----接收请求3、public,private,protected的由来----实现方案的隐藏4、成员对象的由来----方案的重复使用5、继承的由来----重新使用接口5.1、继承特点:5.2、super 与 this 关键字5.3、final关键字最后前言# 1、面向对象程序设计(1) 所有东西都是对象。可将对象想象成一种新型变量;它保存着数据,但可要求它对自身进行操作。(2) 程序是一大堆对象的组合;通过消息传递,各对象知道自己该做些什么。

2021-04-02 11:05:13 120

原创 Java开发的学习路线

五年java开发的学习路线前言一、入门级开发1、java基础加提升2、Javaweb3、框架4、项目二、夯实基础1、Java基础2、设计模式3、代码优化4、项目调优5、并发编程6、框架源码7、重复造轮子三、脱颖而出1、专精一个领域2、扩大自己影响力最后前言做java开发不到四年,自己的知识树还像一棵小草一样,系统性不够、根基不牢、不够深入!不久即将迈入5年码龄,面对这个分水岭,迷茫恐惧的一个不止我自己吧。只有将自己的知识树成长的更好更健壮,机会来临的时候,才能握住它!一、入门级开发1、java

2021-03-31 11:35:44 6278 4

原创 IDEA手动编写Servlet详解

IDEA手动编写Servlet详解一、创建web应用二、编写servlet方法一:Servlet3.0后注解配置Servlet方法二:web.xml配置Servlet访问:最后一、创建web应用1、选择web application应用,之后填写项目名称。2、在WEB-INF目录下创建两个文件夹:classes和lib,其中classes是Servlet类和其他JAVA类必须存放的位置,类以下的目录反映了类包的结构。lib是Servlet应用程序所需JAR文件要在这里部署。但是Servlet AP

2021-02-25 15:55:47 1113

原创 tomcat和servlet的关系及区别

tomcat和servlet的关系及区别Tomcat 是Web应用服务器,是一个Servlet/JSP容器. Tomcat 作为Servlet容器,负责处理客户请求,把请求传送给Servlet,并将Servlet的响应传送回给客户.而Servlet是一种运行在支持Java语言的服务器上的组件. Servlet最常见的用途是扩展Java Web服务器功能,提供非常安全的,可移植的,易于使用的CGI替代品.从http协议中的请求和响应可以得知,浏览器发出的请求是一个请求文本,而浏览器接收到的也应该是一个响应

2021-02-25 14:58:22 3691

原创 静态页面和动态页面的原理及区别详解

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档静态页面和动态页面的原理及区别详解前言一、静态web页面二、动态web页面三、关于两者区别四、实验测试最后前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、静态web页面1、在静态Web程序中,客户端使用Web浏览器(IE、FireFox等),使用HTTP协议发起

2021-02-25 14:31:09 3977

原创 JAVA之IO流基础详解

一、JAVA之IO流基础 1. Java之File类1. Java之File类java.io.File类代表系统中的文件(文件或目录)构造方法:File(String pathname)File(String parent, String child) 【参数都是字符串】File(File parent, String child) 【在parent下建立子对象child,parent必须为file对象】(1)文件方法【可读否】boolean canRead()【可写否】boolean c

2020-12-16 10:27:05 180

原创 1.1 练习案例:java对象流和文件流的相互转换

1.1 练习案例:java对象流和文件流的相互转换1)将若干个Student对象,若干个Teacher对象,写出到d:/0404/a.txt中2)将该文件中所有Student对象反序列化回来装入List, 所有的Teacher对象反序列化回来转入另外一个List代码逻辑:建立一个Person类,并实现Serializable。再让Student和Teacher类继承Person。(当然这里没必要,可以直接建立Student和Teacher类)运用知识点:对象流,文件流(1)Person类:pac

2020-12-15 15:31:48 2839

原创 二、Hadoop教程之分布式环境集群搭建讲解(详细)

二、Hadoop教程之布式环境集群搭建讲解(详细)前言1. 安装JDK并配置环境变量2. 布式环境部署(1) 准备工作前言本文的思路是:以安装部署Apache Hadoop2.x版本为主线,来介绍Hadoop2.x的架构组成、各模块协同工作原理、技术细节。安装不是目的,通过安装认识Hadoop才是目的。1. 安装JDK并配置环境变量默认您已安装JDK并配置环境变量,安装配置在此不做赘述。2. 布式环境部署分部式是真正利用多台 Linux 主机来进行部署 Hadoop,对 Linux 机器集群进行

2020-10-28 15:50:43 394

原创 一、Hadoop教程之基础入门讲解(详细)

一、Hadoop教程之入门讲解前言1、HDFS文件系统(1)HDFS的设计特点:(2)HDFS的master/slave构架:(3)HDFS的实现思路(根据个人理解绘制):(4)HDFS的写入原理(根据个人理解绘制):2、MapReduce文件系统(1)MapReduce实现思路(根据个人理解绘制):前言Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构。主要解决,海量数据的存储和海量数据的分析计算问题。Hadoop框架中最核心设计就是:HDFS和MapReduce,HDFS实现

2020-10-28 11:13:38 1375 1

空空如也

空空如也

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

TA关注的人

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