自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

昨日的桥

多目标优化没有最优解,只有Pareto最优解集

  • 博客(93)
  • 收藏
  • 关注

原创 推荐一款好用的时序预测工具——DChain Forecast

一款好用的时序预测工具——Alibaba DChain Forecast

2023-06-25 19:20:23 867

原创 【Maven】Maven中的基本知识汇总

Maven中的基本知识汇总Maven是Java项目开发中的重要工具,学习Maven的关键在于掌握基于Maven开发的最佳实践,提高项目开发效率~ 01、POMPOM(Project Object Model,项目对象模型),定义了项目的基本信息,可以用于描述项目构件、依赖管理等。02、POM中的重要元素(1)groupId:组号,(2)artifactId:组中的ID,(3)version:版本,(4)名称。03、surefiresurefire是Maven中负责执行测试的插件。04、mav

2021-07-04 10:01:18 189

原创 【Maven】Maven的用途

      Maven可以被翻译为“知识的积累”,或者“专家”,是我们日常开发中非常有用的工具。1、 Maven的作用有哪些?答: Maven 的作用有3个:(1)项目搭建;(2)依赖管理;(3)项目信息管理。2、什么是项目构建?答:项目构建是:编译、测试、成文(生成文档)、打包、部署等,或者是:除了编写源码之外其他工作。3、 Maven是跨平台的么?答: Maven是跨平台的:同一套指令可以在不同的系统上运行。4、 Maven如何实现依赖管理

2021-07-01 23:32:11 2385

原创 【操作系统】系统调用是什么

01、 系统调用是什么操作系统提供给程序员的接口就是系统调用。进程在系统上的运行分为2个级别:(1) 用户态(user mode):用户态运行的进程可以直接读取用户程序的数据;(2) 系统态(kernel mode):系统态运行的程序可以访问计算机的任何资源,不受限制平常我门的进程几乎都是用户态,读取用户数据,当涉及到系统级别资源的操作(例如文件管理、进程控制、内存管理等)的时候,就要用到系统调用了。02、 用户态到内核态切换途径系统调用,中断,异常03、 CPU响应

2020-09-17 11:45:14 5584

原创 【操作系统】逻辑地址到物理地址的转化

逻辑地址到物理地址的转化机器语言指令中出现的内存地址,都是逻辑地址,需要转换成线性地址,再经过MMU(Memory ManagementUnit,CPU中的内存管理单元)转换成物理地址才能够被访问到。1、逻辑地址转化为线性地址逻辑地址是以“段地址:偏移地址”的形式存在的。段寄存器是一个16位的寄存器,第0位和第1位控制着将要访问段的特权级,第2位说明是在GDT还是LDT寻找地址,高13位作为一个索引值,总共8192个索引。如下图所示,通过寄存器里的索引,可以从段描述符表里找到段的基址。然后用段的基址

2020-07-19 18:38:41 5441

原创 【Git】在Git调试过程中的常用指令

Git常见指令指令功能git log查看日志git reset回到之前的版本,版本回退git config --global user.name ‘username’更改用户名git config user.name查看用户名git config --global user.email 'email更改邮箱git config user.email查看邮箱git remote –v查看远端地址git config --list查

2020-07-09 22:31:08 159

原创 【操作系统】怎么避免死锁?

怎么避免死锁?银行家算法。当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量,则按当前的申请量分配资源,否则就推迟分配。当进程在执行中继续申请资源时,先测试该进程已占用的资源数与本次申请资源数之和是否超过了该进程对资源的最大需求量,若超过则拒绝分配资源,若没超过则再测试系统现存的资源能否满足该进程尚需的最大资源量,若满足则按当前的申请量分配资源,否则也要推迟分配。安全序列是指系统能按某种进程推进顺序(P1,P2, P3, …, Pn),为每个进程

2020-06-17 19:58:21 201

原创 Java异常相关知识汇总

一、异常体系结构Java把异常作为一种类,当做对象来处理。所有异常类的基类是Throwable类。1. Throwable的子类有2个:Error和Exception。1.1 Exception的子类主要的有2个:IOException和RuntimeException1.1.1 IOException的子类主要的有:(1)EOFException,表示在输入中意外地到达文件或者流的...

2020-04-12 00:14:29 687

转载 Java中的静态代理与动态代理

转载自:https://blog.csdn.net/u014381710/article/details/49407527代理就是为一个对象提供一种代理以控制对这个对象的访问。代理类和委托类有共同的父类或父接口,这样在任何使用委托类对象的地方都可以用代理对象替代。代理类负责请求的预处理、过滤、将请求分派给委托类处理、以及委托类执行完请求后的后续处理。根据代理类的生成时间不同可以将代理分为静态代...

2020-04-01 11:23:04 90

转载 如何提高ACM竞赛编写代码的速度

摘自上海交大bbs:奋是基础,一切的前提奋之上是忍耐大部分时候大部分人的“习惯”都是跟“效率”作对的奋让你有机会去跟这些习惯做斗争在 ACM 竞赛的级别,写代码不是在解题,而是实现早已在脑子里准备好的一个逻辑流程。这个追求跟大部分没有训练过的人的习惯相反,要扭转这种习惯,第一步可以做尝试有:把准备和敲键盘分割为两个动作。把敲键盘和运行分割为两个动作。编译错误这件事情几乎总是会发...

2020-03-31 22:08:14 322

原创 Unsafe和CAS

01、UnsafeJava无法直接访问底层操作系统,而是通过本地(native)方法来访问。不过尽管如此,JVM还是开了一个后门,JDK中有一个类Unsafe,它提供了硬件级别的原子操作。比如说获取某个属性在内存中的位置,比如说修改对象的字段值。这个类尽管里面的方法都是public的,但是并没有办法使用它们,JDKAPI文档也没有提供任何关于这个类的方法的解释。02、CASCAS指令需要有...

2020-03-28 18:34:42 165

原创 泛型的实现原理

一、泛型是什么?Java泛型(generics)是JDK 5中引入的一个新特性,泛型提供了编译时类型安全监测机制,该机制允许我们在编译时检测到非法的类型数据结构;泛型的本质就是参数化类型,也就是所操作的数据类型被指定为一个参数;二、泛型的好处1、类型安全。泛型的主要目的就是提高Java程序的类型安全。通过知道使用泛型定义的变量的类型限制,编译器可以在一个高得多的程度上验证类型假设。没有泛型...

2020-03-23 14:40:35 1236

原创 ArrayList和LinkedList的相同点和不同点

一、相同点1、ArrayList和LinkList都实现了以下接口:java.util.List、Cloneable、java.io.Serializable。由于实现了java.util.List接口,支持泛型,ArrayList和LinkList都能够用来存放各种数据类型的对象;实现了Cloneable接口,能够支持克隆;实现了java.io.Serializable接口,能够支持序列化。...

2020-03-23 14:37:59 1607 1

原创 Java开发中常用的Linux指令

很早之前就装了Ubuntu,但是也只是一时兴趣,很多指令现在都已经生疏。现在把常用的一些Linux指令总结一下,方便后续使用。01、cd:切换目录02、- - help:获取帮助03、ls:显示当前目录下的文件以及目录04、touch:创建文件05、mkdir:创建目录06、pwd:显示当前目录的路径07、echo:向文件中追加内容08、cat:显示文件内容、创建文件、合并文件0...

2020-03-12 16:13:07 256

原创 Java中的自动装箱、拆箱

自动装箱与自动是Java语言中经常遇到的语法糖,属于早期(编译期)优化的技术。以下介绍了自动装箱和自动拆箱的底层原理、触发条件等。01、自动装箱和自动拆箱1、自动装箱:自动将基本数据类型转换成包装器类型;2、自动拆箱:自动将包装器类型转换成基本数据类型;02、自动装箱的底层原理自动装箱的时候实际调用的是各个包装器类型的valueOf()方法,所以只需要搞明白各个包装器类型的valueOf...

2020-03-10 18:58:53 268

原创 synchronized关键字详解

从synchronized的用法,到synchronized的底层实现原理,以及锁优化后,对各种优化策略的灵活使用。01、synchronized作用synchronized可以实现线程安全的3个方面:1、原子性:确保线程互斥地访问同步代码。2、可见性:保证共享变量的修改能够及时可见。其实是通过Java内存模型中的 “对一个变量unlock操作之前,必须要同步到主内存中;如果对一个变量进行...

2020-03-10 13:51:02 131

原创 Java线程池的关键知识点总结

在熟悉线程池之前,其实应该先了解一下池化技术。什么是池化技术呢?就是将用过的资源保存起来,等下一次需要这种资源的时候,再拿出来重复使用。常见的池化技术有:线程池、连接池、内存池、常量池、对象池等。所以,可以类比着来学习。01、为什么要使用线程池?1、降低资源消耗。通过重复使用线程池中已经创建好的线程,来避免频繁的线程创建和销毁所带来的资源消耗。2、提高响应速度。减少CPU的空闲时间,提高系统...

2020-03-07 21:21:15 178

原创 Spring的两大特性IoC和AOP

IoC和AOP相对于Spring,就好比封装、继承和多态相对于Java而言,其重要性对于后端开发者来说是不言而喻的。还是那句话,理解比记忆更重要。01、IoC(DI)IoC(Inversion of Control),控制反转。IoC不是一种编程方法,而是一种编程思想。简单点说,就是把对象的创建过程交给spring IoC容器去管理。以前,我们要在一个类中实例化另一个对象,都是使用类的构造方...

2020-03-05 23:52:36 1043

原创 利用递归来实现字符串反转

字符串反转有很多方法,查找了网上的一些资料然后进行核对比较,其中应该属StringBuffer的reverse()是最轻松的,几乎一步搞定。但是,如果从提升程序性能的角度来看,比较好的方法应该是采用递归来实现。面试时手撕代码算法,其实并不只是在考察你的代码是否可以解决问题,而是你的代码是否是最优的,是否用到一些比较优秀的思想。最优的代码才是标准答案。代码//反转字符串 public sta...

2020-03-04 23:30:58 1364

原创 MySQL中的索引知识点总结

如果没有索引,MySQL在进行查询的时候是进行全表查询,查找到满足条件的记录就添加到搜索结果集合,速度显然很慢。但是添加了索引,MySQL可以直接在索引列中进行查找,由于索引采用的是B+树,具有稳定的对数时间复杂度,所以能够快速定位到满足条件的数据记录。一、索引种类1、普通索引(index):是最基本的索引,它没有任何限制。2、唯一索引(unique):索引列的值必须唯一,但允许有空值。如果...

2020-02-27 22:54:18 163

原创 HashMap关键知识点总结

HashMap也算是面试经常问的问题了,常见的HashMap数据结构、指针碰撞、线程不安全以及解决策略都是Java程序员必须熟悉的内容,这里简单归纳一下啦。一、HashMap的数据结构简单来说,HashMap由数组+链表组成的,数组是HashMap的主体,链表则是主要为了解决哈希冲突而存在的。当链表长度大于8时,链表会转换成红黑树,当小于6时,又会退化为链表。二、HashMap的工作原理H...

2020-02-27 15:13:06 244

原创 MySQL中的事务

对数据库中的事务做了一个整理,尤其是事务隔离级别的底层实现原理,看了很多资料最后才归纳出来。这一部分,理解比记忆更重要。一、事务的四大特性1、原子性(Atomicity):不可分割的操作单元,事务中所有操作,要么全部成功;要么撤回到执行事务之前的状态;2、一致性(Consistency):如果在执行事务之前数据库是一致的,那么在执行事务之后数据库也还是一致的;3、隔离性(Isolation...

2020-02-26 11:08:47 69

原创 Java中的线程安全与锁优化

如果一个对象可以被多线程同时使用,那他就是线程安全的。01、线程安全的定义当多个线程访问一个对象时,如果不用考虑这些线程在运行环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方法进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线程安全的。02、Java语言中的线程安全按照线程安全的安全程度由强至弱来排序,我们可以将Java语言中各种操作共享的数据分为以...

2020-02-13 10:55:13 106

原创 Java内存模型与线程

并发处理的广泛应用使得Amdahl定律代替摩尔定律成为计算机性能发展源动力的根本原因,也是人类“压榨”计算机运算能力的最有利武器。计算机的运算速度与它的存储和通信子系统速度的差距太大,让计算机同时处理几项任务则是最容易想到、也被证明是非常有效的“压榨”手段。01、硬件的效率与一致性由于计算机的存储设备与处理器的运算速度有几个数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理...

2020-02-10 14:35:18 88

原创 Java虚拟机晚期(运行期)优化知识总结

01、为什么使用即时编译器Java程序最初是通过解释器进行解释执行的,当虚拟机发现某个方法或代码块的运行特别频繁时,就会把这些代码认定为“热点代码”。为了提高热点代码的执行效率,在运行时,虚拟机将会把这些代码编译成与本地平台相关的机器码,并进行各种层次的优化,完成这个任务的编译器称为即时编译器(Just In Time Compiler,简称JIT编译器)。02、解释器与编译器两者各自的优势...

2020-02-02 17:06:50 107

原创 Java虚拟机早期(编译期)优化

从计算机程序出现的第一天起,对效率的追求就是程序天生的坚定信仰,这个过程犹如一场没有终点、永不停歇的F1方程式竞赛,程序员是车手,技术平台则是在赛道上飞驰的赛车。01、3种编译器Java语言有3类编译过程,分别对应着3种编译器:1、前端编译器:把*.java文件转成*.class文件(字节码文件),比如Javac。2、JIT编译器:把字节码转成机器码。3、AOT编译器:把*.java文件...

2020-01-31 23:28:21 86

原创 虚拟机类加载机制

代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。01、虚拟机类加载机制是什么?虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略虽然会令类加载时稍微增加一些性能开销,...

2020-01-30 15:54:53 83

原创 垃圾收集器与内存分配策略

你知道么?GC的历史比Java还要久远。1960年诞生于麻省理工的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。目前内存的动态分配与内存回收技术已经相当成熟。但是,当需要排查各种内存溢出、内存泄露问题时,当垃圾收集成为系统达到高并发量的瓶颈时,我们需要对这些内存动态分配和垃圾收集技术进行必要的监控和调节。以下对Java垃圾收集器与内存分配策略进行了归纳总结。01、哪些内存需要回收...

2020-01-17 17:09:35 115

原创 MySQL中的分区表

对用户来说,分区表是一个独立的逻辑表,但是底层是由多个物理子表组成。实现分区的代码实际上是对一组底层表的句柄对象的封装。对分区表的请求,都会通过句柄对象转化成存储引擎的接口调用。分区表在很多场景中可以起到非常大的作用,但是其本身也存在一些限制。以下对MySQL中的分区表作一个简单的归纳。01 分区表的原理1、MySQL在创建时使用PARTITION BY子句定义每个分区存放的数据。2、分区的...

2020-01-15 22:31:32 301

原创 MySQL查询性能优化

优化查询、索引优化、库表结构设计三者其实需要齐头并进,一个不能落下。在获得编写MySQL查询经验的同时,也应该学习如何设计为高效的查询设计表和索引。同样的,也可以学习到在优化库表结构时会影响到哪些类型的查询。01、为什么查询速度会慢?1、首先需要清楚一点,对于查询而言,真正重要的是响应时间。如果把查询看作是一个任务,那么它由一些列子任务组成,每个子任务都会消耗一定的时间。如果要优化查询,实际上...

2020-01-15 15:22:06 111

原创 HotSpot虚拟机在Java堆中对象分配、布局和访问的全过程

三个过程:对象创建、内存布局、访问定位。1、对象的创建(1)虚拟机遇到一条new指令时,首先将取检查这个指令的参数是否能在常量池中定位到一个类的引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。(2)在类加载检查通过后,虚拟机将为新生对象分配内存。假设Java堆中内存时绝对规整的,所有用过的内存都放在一边,空闲的内存放在另一边,中间放着一个指针作为分界点的指示器,那所分配内存...

2020-01-14 15:47:42 103

原创 MySQL中的索引

索引是一个比较复杂的模块,需要花一定的时间去学习。但是,索引又是MySQL进行查询优化的一个很重要的手段,如果用得好,可以成为数据访问的有力而且灵活的工具,所以还是有必要好好学习和思考这一块内容。下面,对MySQL中索引的内容做了一下归纳总结,有点零散。01、索引基础1、索引是存储引擎用于快速找到记录的一种数据结构。2、索引是对查询性能优化最有效的手段。3、B-树索引能够加快访问数据的速度...

2020-01-13 18:18:10 116

原创 MySQL之Schema与数据类型优化

抽空整理了一下MySQL中的Schema与数据类型优化相关的知识点,有点零碎。MySQL的数据类型相对来说比Oracle的数据类型要多,所以,MySQL使用起来也会相对更加灵活一些。在数据存储管理方面,MySQL的使用者可以根据自己的需求更容易找到可以满足业务场景同时又最节省磁盘空间的数据类型。另外MySQL还有一点优势在于,MySQL支持主键自增,而Oracle并不支持,在Oracle实现主键自...

2020-01-10 09:50:49 107

原创 大数据分析与挖掘之关联规则挖掘

关联规则挖掘是大数据分析与挖掘的基础,通过在大量数据中挖掘数据项之间的强关联关系,可以得到很多有趣而且有价值的信息。01、基本概念1、关联规则的挖掘是在大量数据的基础上,通过分析哪些数据项频繁地一起出现,可以得到很多频繁一起出现的数据项集合。2、根据频繁项集的元素个数X,将频繁项集称为频繁k-项集。3、项集X的支持度计数σ(X)=∣ti∣X⊆ti,ti∈T∣\sigma(X) = | t...

2020-01-09 21:05:33 2045

原创 MySQL架构及基础知识归纳

数据库的知识都比较零散,内容也比较多,筛选了一些比较重要且常见的知识点,做了归纳整理,方便后续回顾和学习。01、MySQL服务器逻辑架构图图1 MySQL服务器逻辑架构图第一层:连接/线程处理。大多数基于网络的客户端/服务器的工具或者服务都有类似的架构。比如连接处理、授权认证、安全等。第二层:查询缓存、解析器、优化器。MySQL的核心功能,包括查询解析、分析、优化、缓存以及所有的内...

2020-01-07 23:21:41 201

原创 LinkedHashMap是什么?

大家都知道,HashMap是一个无序的集合,所有存入HashMap的元素都会根据它的key值对应的hashCode来映射到一个Entity数组上,而不是根据存入的顺序进行排列的。对于一些需要使用排序的情况,HashMap是无能为力的,为了可以应对这种需要HashMap并且需要排序的情况,JDK 便推出了LinkedHashMap。LinkedHashMap继承了HashMap,通过使用一个双向...

2020-01-06 23:44:07 347

原创 流式处理的设计模式

每一个流式处理系统都不一样,从基本的消费者、处理逻辑和生产者的组合,到使用了Spark Streaming和机器学习软件包的复杂集群,以及其他很多处于中间位置的组件。这里,对一些常见的流式处理的设计模式进行了罗列,具体如下:1、单个事件处理处理单个事件是流式处理最基本的模式。这个模式也叫map或filter模式,因为它经常被用于过滤无用的事件或者用于转换事件(map这个术语是从Map-Redu...

2020-01-06 19:20:26 1132

原创 Kafka中的流式处理及相关概念汇总

Kafka中的流式处理是Kafka的一个中功能,通过流式处理,Kafka可以对实时数据进行实时处理,虽然,数据处理的响应时间并没有“请求-响应”模式的迅速,但是相对于一般的批处理模式还是要快很多的。对于一般的客户服务、物联网系统的状态预测、异常检测等还是非常高效的、实用的方法。所以,还是有必要好好掌握这方面的知识。下面对Kafka中流式处理及相关的概念进行了汇总。01、什么是流式处理数据流(也...

2020-01-06 19:16:51 1215 1

原创 Kafka中消费者的主要内容归纳

Kafka是一款基于发布与订阅的消息系统。其中消息的订阅以及最终的消费是由Kafka中的消费者来完成。关于Kafka中的消费者,其包含的内容比较多,现在归纳如下:01、消费者和消费者群组Kafka消费者从属于消费者群组。一个群组里的消费者订阅的是同一个主题,每个消费者接受主题一部分分区的消息。往群组里增加消费者是横向伸缩消费能力的主要方式。但是要注意,不要让消费者的数量超过主题分区的数量,多...

2020-01-05 21:01:13 226

原创 Kafka中的生产者详解

Kafka中的生产者主要是用来向Kafka中写入消息。其包含的主要内容有如下个方面:01、应用程序往Kafka中写入消息的场景记录用户的活动(用于审计好分析)、记录度量指标、保存日志消息、记录智能家电的信息、与其他应用程序进行异步通信、缓冲即将写入到数据库的数据,等等。02、Kafka发送消息的过程1、创建ProducerRecord对象2、使用send()发送ProducerRecor...

2020-01-04 23:21:35 628

空空如也

空空如也

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

TA关注的人

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