- 博客(497)
- 资源 (15)
- 收藏
- 关注

原创 ORACLE系列异常总结ORA
本文对常见的Oracle使用中的异常解决方案进行总结1.ORACLE异常--ORA系列:ORA-00904 标识符无效 invalid identifier2.ORACLE异常--ORA-00918 未明确定义列 column ambiguously defined3.ORA-00942 表或视图不存在 table or view does not exist4.ORA-00984...
2018-07-28 11:22:29
5029
原创 什么是贪心算法?
一、贪心算法基本概念和特征规律“贪心”顾名思义,因此其规律特征就是更加注重当前的状态,贪心法做出的选择是对于当前所处状态的最优选择,它的解决问题的视角是微观的“局部”,而不是从全局宏观的角度思考和看待问题。也就是说,不从整体最优上加以考虑,仅是某种意义上的局部最优解。根据这样的性质,要求贪心法解决的问题是“无后效性”——当前的决策不会影响到后续的决策。因为如果问题前后勾连紧密的话,会造成求解过程十分混乱。贪心算法常常用于组合优化问题,它的求解过程是多步判断的过程。...
2021-08-15 15:47:28
1165
原创 如何运行一个Java文件?
以下操作是按在Windows系统运行的,不能在Linux环境执行,Linux环境必须运行完整的web项目,xx.jar的方式运行。首次学习java,安装好jdk环境后,兴奋的你,肯定想写一个HelloWord.java运行一下看看。1.用记事本编写一个MyTest.java程序,如下:public class MyTest { public static void main(String[] args) { System.out.println("第一个java程序
2021-08-08 20:34:03
21594
原创 【动态规划】不信看完你还不懂动态规划
1.什么是动态规划?维基百科:动态规划(Dynamic programming,简称DP)是一种通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。使用场景:动态规划常常适用于有重叠子问题和最优子结构性质的问题。dynamic programming is a m·· ethod for solving a complex problem by breaking it down into a collection of simpler subproblems.简单来说,动态规划其
2021-08-01 19:18:56
1271
原创 【LeetCode每周算法】零钱兑换
题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/coin-change给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回-1 。你可以认为每种硬币的数量是无限的。示例1:输入:coins = [1, 2, 5], amount = 11输出:3解释:11 = 5 + 5 + 1示例...
2021-07-29 19:53:54
346
原创 【LeetCode每周算法】两数相加
题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-two-numbers给你两个非空 的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 ...
2021-07-23 13:51:01
220
1
转载 java中打开指定的文件夹
今天在项目中有用到,下载完成一个文件之后,弹出下载到本地的具体文件夹,原来一行代码就可以实现这种是纯java的方式,不受系统的约束Desktop.getDesktop().open(new File("D:\\文件夹"));...
2019-09-02 20:17:04
5343
转载 安装完CentOS 7 后必做的七件事
CentOS是最多人用来运行服务器的 Linux 版本,最新版本是 CentOS 7。当你兴趣勃勃地在一台主机或 VPS 上安装 CentOS 7 后,首要的工作肯定是加强它的安全性,以下列出的七件事,是你进一步配置系统和安装其他软件前必须做的。1. 更改 root 密码若果你是自行安装 CentOS 7 的话,安装程序会让你自行设定 root 的密码。不过很多 VPS 服务商只会提供预先...
2019-05-01 23:36:25
1020
1
原创 【深入Java虚拟机JVM 10】回收方法区
说明:文章所有内容均摘自《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》很多人认为方法区(或者HotSpot虚拟机中的永久代)是没有垃圾收集的,Java虚拟机规范中确实说过可以不要求虚拟机在方法区实现垃圾收集,而且在方法区中进行垃圾收集的“性价比”一般比较低:在堆中,尤其是在新生代中,常规应用进行一次垃圾收集一般可以回收70%~95%的空间,而永久代的垃圾收集效率远低于此。...
2019-04-13 09:48:34
597
原创 【深入Java虚拟机JVM 09】JVM垃圾回收finalize方法--对象最有一次自我拯救
说明:文章所有内容均摘自《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》即使在可达性分析算法中不可达的对象,也并非是“非死不可”的,这时候它们暂时处于“缓刑”阶段。要真正宣告一个对象死亡,至少要经历两次标记过程:如果对象在进行可达性分析后发现没有与GC Roots相连接的引用链,那它将会被第一次标记并且进行一次筛选,筛选的条件是此对象是否有必要执行finalize(...
2019-04-13 09:33:04
1047
1
原创 【深入Java虚拟机JVM 08】JVM四种引用-强引用、软引用、弱引用、虚引用
说明:文章所有内容均摘自《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》无论是通过引用计数算法判断对象的引用数量,还是通过可达性分析算法判断对象的引用链是否可达,判定对象是否存活都与“引用”有关。在JDK 1.2以前Java中的引用的定义很传统:如果reference类型的数据中存储的数值代表的是另外一块内存的起始地址,就称这块内存代表着一个引用。这种定义很纯粹...
2019-04-13 09:21:35
856
1
原创 【深入Java虚拟机JVM 07】JVM如何判断对象已死
说明:文章所有内容均摘自《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》在堆里面存放着Java世界中几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还“存活”着,哪些已经“死去”(即不可能再被任何途径使用的对象)。1 引用计数算法很多教科书判断对象是否存活的算法是这样的:给对象中添加一个引用计数器,每当有一个地方引...
2019-04-11 08:34:48
422
原创 【深入Java虚拟机JVM 06】垃圾收集概述
说明:文章所有内容均摘自《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》说起垃圾收集(Garbage Collection,GC),大部分人都把这项技术当做Java语言的伴生产物。事实上,GC的历史比Java久远,1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。当Lisp还在胚胎时期时,人们就在思考GC需要完成的3件事情:哪些内存需...
2019-04-10 08:29:55
355
原创 【Spring注解系列14】@Profile进行环境切换
1.@ProfileProfile: Spring为我们提供的可以根据当前环境,动态的激活和切换一系列组件的功能;开发环境、测试环境、生产环境;数据源:(/A)(/B)(/C);@Profile:指定组件在哪个环境的情况下才能被注册到容器中,不指定,任何环境下都能注册这个组件1)、加了环境标识的bean,只有这个环境被激活的时候才能注册到容器中。默认是default环...
2019-04-09 22:12:50
3169
原创 【Spring注解系列13】Spring自动装配总结:@Autowired、@Resource、@Qualifier、@Inject
目录1.@Autowired、@Resource、@Qualifier、@Inject1)、@Autowired2)、@Resource与@Inject3)、 @Autowired参数取值2.实例1.@Autowired、@Resource、@Qualifier、@Inject自动装配; Spring利用依赖注入(DI),完成对IOC容器中中各个组件的依...
2019-04-09 12:39:56
718
原创 详解Dozer对象转换使用方法
1.Dozer作用Dozer是一个实现对象间字段赋值转换的工具包。它支持简单的属性映射,复杂类型映射,双向映射,隐式显式的映射,以及递归映射。它支持三种映射方式:注解、API、XML。它是开源的,遵从Apache 2.0 协议常见应用场景: 微服中,有大量实体转换,从前端表单转换为业务实体,从业务实体转换为报表Dto。2.Dozer设计核心接口Ma...
2019-04-08 17:10:09
5282
原创 【Spring注解系列12】@Value与@PropertySource注解
1.@Value与@PropertySource注解@Value注解:主要用于赋值,该值可以是取值配置文件中的,也可以直接赋值,也可以使用SpEl表达式进行计算的结果,抑或直接从环境变量中获取。 该注解不能处理日期类赋值1、基本数值2、可以写SpEL; #{}3、可以写${};取出配置文件【properties】中的值(在运行环境变量里面的值) 原理是底层使用了后置处理器Aut...
2019-04-08 08:43:12
2695
原创 【Spring注解系列11】Spring后置处理器BeanPostProcessor用法与原理
1.BeanPostProcessor原理先说,bean的后置处理器BeanPostProcessor接口中两个方法:postProcessBeforeInitialization:在初始化之前工作 postProcessAfterInitialization:在初始化之后工作BeanPostProcessor原理populateBean(beanName, mbd, ins...
2019-04-04 16:27:56
1451
原创 【Spring注解系列10】SpringBean的生命周期
1.SpringBean生命周期定义指bean创建---初始化----销毁的过程。构造(对象创建):单实例:在容器启动的时候创建对象 多实例:在每次获取的时候创建对象初始化和销毁方式: 指定初始化和销毁方法;容器在bean进行到当前生命周期的时候来调用我们自定义的初始化和销毁方法。 @Bean中指定的 initMethod 和destroyMet...
2019-04-04 07:59:36
542
原创 【Spring注解系列09】Spring初始化和销毁接口-InitializingBean与DisposableBean
1.InitializingBean与DisposableBeanInitializingBean定义初始化逻辑,用于执行自定义初始化或者校验已设置的属性值等。* Interface to be implemented by beans that need to react once all their properties* have been set by a {@link B...
2019-04-03 12:44:40
1205
原创 【Spring注解系列08】@PostConstruct与@PreDestroy
1.@PostConstruct与@PreDestroy@PostConstruct:在bean创建完成并且属性赋值完成;来执行初始化方法@PreDestroy:在容器销毁bean之前通知我们进行清理工作2.实例@Servicepublic class PersonService { @PostConstruct public void post(){ ...
2019-04-03 08:22:06
562
原创 【Spring注解系列07】Spring注入Bean有哪些方式总结
给Spring容器中注册组件方式:1)、包扫描+组件标注注解(@Controller/@Service/@Repository/@Component)2)、@Bean 导入的第三方包里面的组件3)、@Import 快速给容器中导入一个组件 1)、普通class类对象,id默认是全类名 2)、实现ImportSelector接口的class类对象,返回需要导入的...
2019-04-02 22:59:52
2380
原创 【Spring注解系列06】FactoryBean注入对象用法
使用Spring提供的 FactoryBean(工厂Bean);1)、默认获取到的是工厂bean调用getObject创建的对象2)、要获取工厂Bean本身,我们需要给id前面加一个& &colorFactoryBean实例类与配置类public class Color {}//创建一个Spring定义的FactoryBeanpublic cla...
2019-04-02 22:41:46
3315
原创 【Spring注解系列05】@Import注入原理
1.@Import注解用于注入指定的类,导入组件id默认是组件的全类名。 只能作用于类上。 属性:value = {xx.class,xx.class} 说明:xx.class为要导入到容器中的组件属性value中class分为三类: 1)普通类直接注入 2)实现ImportSelector接口的类 3)实现ImportBeanDefin...
2019-04-02 21:31:50
4293
原创 【深入Java虚拟机JVM 05】HotSpot对象探秘
说明:文章所有内容均摘自《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》介绍完Java虚拟机的运行时数据区之后,我们大致知道了虚拟机内存的概况,读者了解了内存中放了些什么后,也许就会想更进一步了解这些虚拟机内存中的数据的其他细节,譬如它们是如何创建、如何布局以及如何访问的。对于这样涉及细节的问题,必须把讨论范围限定在具体的虚拟机和集中在某一个内存区域上才有意义。基于实用优先...
2019-03-29 13:55:38
404
1
原创 【深入Java虚拟机JVM 04】JVM内存溢出OutOfMemoryError异常实例
说明:文章所有内容均摘自《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》在Java虚拟机规范的描述中,除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError(下文称OOM)异常的可能。目的有两个:通过代码验证Java虚拟机规范中描述的各个运行时区域存储的内容; 希望读者在工作中遇到实际的内存溢出异常时,能根据异常的信息快速判断是哪...
2019-03-29 09:35:23
1123
原创 【Spring注解系列04】@Condition条件注解
1.@Condition条件注解满足指定条件,则会加载对应的实例或者类。该注解可以作用于类和方法上。@Condition类属性值中,对应的类,必须是实现Condition接口的类2.实例配置类:@Configurationpublic class ConditionalConfig { /** * @Conditional({Condition})...
2019-03-28 21:46:08
5305
原创 【Spring注解系列03】@Scope与@Lazy
1.@Scope与@Lazy@Scope对象实例作用域,默认是单实例的。取值有四个:/** * @see ConfigurableBeanFactory#ConfigurableBeanFactory#SCOPE_PROTOTYPE * @see ConfigurableBeanFactory#SCOPE_SINGLETON * @see org.springfr...
2019-03-28 21:20:48
658
原创 【Spring注解系列02】@CompentScan与@CompentScans
1.@CompentScan与@CompentScans@CompentScan为扫描包注解,只能作用于类上,一个类上可以有多个@CompentScan注解。等价于 <context:component-scan base-package="com.java" ></context:component-scan>使用了@ComponentScan注解后,...
2019-03-28 20:55:58
2023
原创 【Spring注解系列01】@Configuration与@Bean
1. @Configuration与@Bean@Configuration:告诉Spring这是一个配置类,配置类==配置文件。 @Configuration==beans.xml@Bean:给容器中注册一个Bean;类型为返回值的类型,id默认是用方法名作为id。 @Bean 等价于 <bean></bean> 可以给@Bean设置value来修...
2019-03-28 20:26:54
1421
原创 【深入Java虚拟机JVM 03】Java内存模型
说明:文章所有内容均摘自《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。1. 概述对于从事C、C++程序开发的开发人员来说,在内存管理领域,他们既是拥有最高权力的“皇帝”又是从事最基础工作的“劳动人民”——既拥有每一个对象的“所有权”,又担负着每一个对象生命...
2019-03-28 09:38:12
282
转载 【ProcessOn】在线流程图、思维导图、原型图、UML图制作工具ProcessOn使用
文章转载自简书:https://www.jianshu.com/p/de31ebe40a8e这两天项目要结束了,领导让写设计文档。于是,涉及到了流程图、类结构图、思维导图之类的。然后我的电脑上装的office2013并没装viso,于是就在网上搜了下有什么替代品,发现还真有不少呢,其中个人觉得很不错的免费在线工具:ProcessOn。简介:ProcessOn是一个方便易用、免费高效的在线作...
2019-03-27 17:00:11
3269
原创 【深入Java虚拟机JVM 02】常见Java虚拟机概述
目录1.1 Sun Classic/Exact VM1.2 Sun HotSpot VM1.3 Sun Mobile-Embedded VM/Meta-Circular VM1.4 BEA JRockit/IBM J9 VM1.5 Azul VM/BEA Liquid VM1.6 Apache Harmony/Google Android Dalvik VM1.7 Mi...
2019-03-27 14:57:18
1011
原创 【深入Java虚拟机JVM 01】Java发展与展望概述
目录1.1 概述1.2 Java技术体系1.3 Java发展史1.4 展望Java技术的未来1.4.1 模块化1.4.2 混合语言1.4.3 多核并行1.4.4 进一步丰富语法1.4.5 64位虚拟机说明:文章所有内容均摘自《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》1.1 概述Java的优点:它拥有一门结构严谨、面向对象的编程...
2019-03-27 14:55:42
711
原创 【KVM系列文章】目录
【KVM系列01】KVM简介及安装【KVM系列02】KVM的CPU 和内存虚拟化【KVM系列03】KVM的I/O 全虚拟化和准虚拟化【KVM系列04】KVM的I/O 设备直接分配和SR-IOV【KVM系列05】Libvirt 介绍【KVM系列06】Nova 通过 libvirt 管理 QEMU/KVM 虚机【KVM系列07】使用 libvirt 做 QEMU/KVM 快照和...
2019-03-26 09:18:16
896
原创 【KVM系列08】使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机
第八章 使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机1. QEMU/KVM 迁移的概念1.1 迁移效率的衡量1.2 KVM 迁移的原理1.3 使用命令行的方式做动态迁移2. OpenStack Nova QEMU/KV...
2019-03-25 20:18:40
1124
原创 【KVM系列07】使用 libvirt 做 QEMU/KVM 快照和 Nova 实例的快照
第七章 使用 libvirt 做 QEMU/KVM 快照和 Nova 实例的快照1. QEMU/KVM 快照1.1 概念1.2 使用 virsh 实验1.3 外部快照的删除2. OpenStack 中的快照2.1 对 Nova Instance 进行快照2.2 对卷做快照...
2019-03-25 20:10:58
829
原创 【KVM系列06】Nova 通过 libvirt 管理 QEMU/KVM 虚机
第六章 Nova 通过 libvirt 管理 QEMU/KVM 虚机1. Libvirt 在 OpenStack 架构中的位置2. Nova 中 libvirt 的使用2.1 创建 QEMU/KVM 虚机2.2 添加 volume 到虚机 (nov...
2019-03-25 20:04:29
1298
原创 【KVM系列05】Libvirt 介绍
第五章 Libvirt 介绍1. Libvirt 是什么1.1 Libvirt C API1.2 Libvirt XML 定义1.3 Libvirt API 的实现1.4 Libvirt 的 Python 绑定2. QEMU/...
2019-03-25 19:58:12
3067
maven构建ssm项目demo
2017-09-17
快速生成验证码插件
2017-05-25
web前端教程3之HTML标签思维导图
2017-02-15
web前端教程2之HTML思维导图
2017-02-15
web前段教程1之CSS思维导图
2017-02-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人