自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (4)
  • 收藏
  • 关注

原创 Eclipse插件开发--GMF环境搭建(支持的Eclipse版本)记录

最近由于工作需要,需要进行Eclipse插件开发,目前插件开发中主要使用GEF、EMF及GMF。其中图形化编辑器Graphical Modeling Framework(GMF)需要单独安装插件。 估计由于Java图形化编辑器使用太少,目前的GMF支持版本有限,只有部分Eclipse可以安装GMF插件,如下:Eclipse version:Mars (4....

2020-04-22 15:07:43 583

原创 算法与数据结构--插入排序

目录1、插入排序的原理2、过程分析3、参考代码1、插入排序的原理将数组分为两部分, 将后边部分的第一个逐一与前部分每一个元素比较,在合理位置插入 插入排序算法效率要高于选择排序和冒泡排序 插入排序丼例:{8 , 2 , 3 , 7 , 1}的排序过程如下所示: 第1步,假设第一个元素是已排序的 ...

2019-09-06 21:15:19 194

原创 算法与数据结构--冒泡排序

目录1、冒泡排序的原理2、过程分析3、参考代码1、冒泡排序的原理循环比较相邻的元素,将小的放到前面 进行n-1轮比较,完成排序 冒泡排序举例:{8 , 2 , 3 , 7 , 1}的排序过程如下所示:数组:array={8 , 2 , 3 , 7 , 1}第1轮: array={2 , 3 , 7 , 1 ,8...

2019-09-05 22:31:45 200

原创 算法与数据结构--选择排序

目录1、选择排序的原理2、过程分析3、参考代码1、选择排序的原理每次循环将数组中每个元素与第一个元素比较,如果这个元素小于第一个元素,则交换这两个元素 循环第一条规则,找出最小值,放到第一位 进行n-1轮比较,完成排序 简单而言,每轮都找到最小的放到前面。举例:{8 , 2 , 3 , 7 , 1}的排序过程如下所示: 数组: array=...

2019-09-05 21:44:46 157

原创 JAVA基础--数组

目录1、什么是数组2、数组的定义方式3、数组初始化4、数组的引用5、多维数组6、数组常见异常1、什么是数组 数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。这些无序排列的同类数据元素的集合称为数组。 其实所谓数组,就是一组相同类型的有序序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组...

2019-09-04 21:55:57 104

原创 JAVA基础--自定义异常

目录1、为何要自定义异常2、如何自定义异常3、定义带参数异常1、为何要自定义异常 不必拘泥于java中已有的异常类型,java提供的异常体系不可能预见所有的希望加以报告的异常和错误,所以可以自己定义异常来表示程序中可能遇到的特定问题。2、如何自定义异常 要定义自己的异常,必须从已有的异常类中继承,最好是选择意思相近的异常类继承。建立新的异常类型最...

2019-08-31 14:53:20 254

原创 JAVA基础--控制流程

目录一、为什么要进行流程控制二、常用流程控制关键字1、分支控制if-else2、分支控制switch-case3、循环控制while4、循环控制do-while5、循环控制for6、循环控制Foreach7、关键字break、continue一、为什么要进行流程控制 JAVA根据现实事物抽象出一个个对象,按照现实世界中的关系进行联系,能...

2019-08-30 21:29:20 353

原创 JAVA基础--操作符

目录一、操作符的作用二、常用操作符1、赋值2、算术操作符3、自动递增(++)和自动递减(--)4、直接常量5、关系操作符6、逻辑操作符7、三元操作符8、按位操作符9、位移操作符10、字符串操作符11、类型转换操作符一、操作符的作用 在JAVA最底层,数据时通过使用操作符来操作的。操作符接受一个活多个参数,返回生成的新值。参...

2019-08-29 22:02:18 181

原创 JAVA基础--面向对象(OO)总结

目录1、什么是面向对象?2、什么是对象?3、面向对象思想4、面向对象特征 ①抽象 ②继承 ③封装 ④多态5、面向对象概念1、什么是面向对象? 面向对象是区别于面向过程的一种程序开发设计技术,它将重点放在对象与对象的接口上。 面向对象(Object Oriented),是指面向客观事物之...

2019-08-28 22:21:34 189

原创 groovy语法基础--数据库

Groovy的groovy-sql模块提供了比当前Java的JDBC技术更高级的抽象。Groovy sql API支持各种各样的数据库,其中一些如下所示。HSQLDB Oracle SQL Server MySQL MongoDB以MySQL为例:1、创建MySQL连接,需要传入4个参数:url、user、password、driverClassNamedef sql = ...

2018-11-02 17:51:12 760 2

原创 groovy基本语法--JSON

1、groovy提供了对JSON解析的方法      ①JsonSlurper   JsonSlurper是一个将JSON文本或阅读器内容解析为Groovy数据的类结构,例如map,列表和原始类型,如整数,双精度,布尔和字符串。      ②JsonOutput   此方法负责将Groovy对象序列化为JSON字符串2、解析JSON字符串 def jsonSlurp...

2018-11-02 17:16:42 3284

原创 groovy基本语法--XML及HTML

1、groovy对XML及HTML的支持      Groovy 引入了一些全新的、更加合理的方法来创建和处理 XML及HTML。代码更加简洁,更具表达性。XML标记构建器  Groovy支持基于树的标记生成器BuilderSupport,它可以被子类化以生成各种树结构对象表示 XML解析器 - Groovy XmlParser类使用一个简单的模型来将XML文档解析为Node实例的树。...

2018-11-02 17:04:11 1179

原创 groovy基本语法-正则表达式

      Groovy使用“~”(pattern)来支持正则表达式,它将使用给定的模式字符串创建一个编译好的Java Pattern 对象。Groovy也支持“=~”(创建一个Matcher)和 “==~” (返回boolean,是否给定的字符串匹配这个pattern)操作符。对于groups的匹配, matcher[index] 是一个匹配到的group字符串的List或者string。...

2018-11-02 16:49:45 2280

原创 groovy基础语法--基础类型

       groovy支持JAVA的所有类型,可以使用JAVA语言来定义参数、返回值类型。但是同时groovy可以不定义具体的类型,而是在使用时自动判断类型。1、基本类型 /********基本类型*******/ int x = 5 long y = 100L float a = 10.56f doubl...

2018-11-02 16:44:29 621

原创 groovy语言介绍

1.什么是groovy?       Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码。由于其运行在 JVM 上的特性,Groovy 可以使用其他 Java 语言编写的库。       Groovy是一种基于Java平台的面向对象语言。 ...

2018-11-02 16:23:11 4970

原创 StringUtils类isEmpty与isBlank比较

StringUtils类位于org.apache.commons.lang包下,常用判断字符串是否为空的方法有isEmpty及isBlank,以及判断非空的方法isNotEmpty及isNotBlank。1、isEmpty():public static boolean isEmpty(String str); 判断字符串是否为空,为空的判断标准时str==null或字符串长度为0...

2018-09-28 21:47:50 160

原创 Object类分析

Obejct类是所有类的父类,所有的类都继承与它,定义时不需要显示继承,JAVA类默认继承与Obejct。位于JDK自带的rt.jar包中的java.lang包。Object类中定义了一些方法,实际开发中常常会调用或者对部分方法进行重写,方法如下:1、hashCode():hashCode是jdk根据对象的地址或者字符串或者数字等,按照一定的算法,算出来的int类型的数值。主要应用...

2018-09-26 22:38:19 175

原创 Spring事务回滚条件

       在spring项目中,很多时候事务出现了异常,但是却没有回滚,导致数据库中产生脏数据。那位为什么明明出现了异常,事务却没有回滚呢,下面分析一下spring事务回滚的条件。       Spring事务回滚机制是这样的:当所拦截的方法有指定异常抛出,事务才会自动进行回滚!       1、拦截的方法:            事务的控制方式有三种:            ...

2018-08-13 20:06:40 3976

原创 JAVA基础--异常体系

目录一、异常概念二、JAVA异常体系说明1、Throwable2、Error3、Exception4、RuntimeException5、其他异常三、异常处理1、抛出异常2、捕获异常四、异常总结 1、常见异常 2、其他异常一、异常概念 JAVA的基本理念是“结构不佳的代码不能运行”。 理想的发现错误的时机是...

2018-08-10 09:57:43 146

原创 事务的7中传播特性

一、传播特性的产生       在项目开发中,一般将事务设置在service层,当调用这个service方法时,这个service保证了所有的操作在同一个事务中,所有对数据库的操作要么一起成功,要么一起失败。       如果service方法除了调用DAO,还调用了其他的service方法,如何通过事务控制,保证数据的一致,这个时候就需要事务的传播特性。二、传播特性种类     ...

2018-08-09 19:13:35 6030

原创 事务4种隔离级别分析

       数据库在并发的情况下,可能会出现脏读、不可重复读、幻读等问题。为了避免以上问题,数据库事务增加隔离级别,来保证数据的准确性。隔离级别从低到高有4个级别:未提交读(Read uncommitted)、提交读(Read committed)、可重复读(Repeatable read)、序列化(Serializable) 。一、并发问题       1、脏读          ...

2018-08-09 18:12:02 7758 2

原创 数据库事务(Transaction)

       为了保护数据库数据的安全,目前开发中基本都会使用事务来对数据做管理。为什么要用事务呢?       假设一个简单支付的业务场景,客户购买商品,需要向商家付钱,付钱成功后,商家收到货款,然后发货。数据库中客户的账户需要先减去消费金额,然后商家的账户增加商品销售额。如果商家收钱时出现异常,没有收到货款,不会发货;但此时客户已经付款完成,已经减去消费金额,此时就会出现问题,客户花了钱没...

2018-08-09 15:38:31 683

原创 悲观锁和乐观锁的区别

       由于数据库是多用户共用,并发情况下数据存在“脏读”、“幻读”、“不可重复读”等情况,由此引入了锁的概念,用来保持数据的一致性。       针对不同的场景,数据库有悲观锁和乐观锁两种两种机制。       1、悲观锁        1)定义:悲观锁默认在当前线程处理这条数据的时候,会有其他线程对这条数据进行修改,所以在当前线程获取这条记录的时候就会进行加锁,其他线程只能等...

2018-08-09 14:42:51 224

原创 MySQL工作原理

       MySql是目前使用最广泛的数据库之一,拥有体积小、速度快、成本低等特点,重点还MySql开源,是目前互联网行业使用最多的数据库。       那么MySql是怎么运行工作的呢,MySQL Server逻辑架构图如下:       一、逻辑结构1、Connectors         连接器,与其他程序的SQL连接交互,完成连接的建立及认证、授权等。当请求到处后,...

2018-08-09 10:26:28 3491

原创 JAVA基础--面向对象设计原则

面对对象开发过程中,有七个基本原则(开闭原则、单一职责原则、里式替换原则、依赖倒置原则、合成聚合原则、接口隔离原则、迪米特原则)。1、开闭原则 1)定义:软件方法应该对修改关闭,对扩展开放。 2)问题由来:随着软件的运行,因为功能的扩展、业务的调整、升级等原因,修改原有代码,可能会给旧代码引入新的问题,产生新的bug,也可能需要重构原有代码,整体功能都需...

2018-08-08 15:12:38 163

原创 JAVA基础--面向对象四大基本特征

JAVA中面向对象将事物抽象成对象,有以下四中基本特征:抽象、继承、封装、多态。 1、抽象 抽象是将对象的共同特征提取出来构造类的过程,包括特征抽象和行为抽象两方面。抽象只关注对象有哪些特征和行为,而不会关注具体的特征和行为是什么。 2、继承 是从已有类中获取特征创建新类的过程。提供继承信息的类被称为父类...

2018-08-07 18:06:32 522

原创 JAVA基础--JAVA特点详解

JAVA语言作为目前使用最广泛的开发语言之一,拥有很多其他语言所没有的特点及优势,仍在吸引着大量新人的加入和学习,那么JAVA语言有哪些特点呢。1、面向对象 JAVA语言最大的特点就是面向对象(Object Oriented,OO),把一切需要描述的事物抽象成一个对象,通过多个属性来对对象进行描述,通过堆对象的处理,完成想要的业务逻辑处理。 JAVA...

2018-08-07 17:35:52 135

原创 JVM方法区回收方法

1、方法区        JVM中的方法区,按分代算法属于持久代,所以一般也被称为持久代。2、回收对象    方法区主要保存类信息(构造器)、常量、静态变量等,可回收对象为:废弃常量,无用的类。回收废弃常量与JAVA对象一致,无用即删;       以常量池中字面量的回收为例,例如一个字符串“abc”已经进入常量池,但是无任何String对象引用常量池的此常量,也无其它引...

2018-08-07 16:07:02 1022

原创 Minor GC和Full GC触发条件

1、Minor GC     触发位置:年青代的eden区     触发条件:eden区内存满时,触发Minor GC,清理年轻代内存。     触发频率:高     回收效率:一般回收效率在70%-95%,回收效率高。2、full GC     触发位置:老年代     触发条件:            ①老年代内存不够,进行full GC回收;       ...

2018-08-07 15:25:54 296

原创 JVM分代算法

      目前JVM虚拟机中基本都使用分带收集算法,根据对象存活周期不同,分为三个年代:年青代、老年代、持久代。这是因为不同对象存活时间不一致,有些可能只使用一次,使用后就需要回收,而有些对象却会伴随整个程序的生命周期。分代有利于堆不同生命周期的对象进行管理,减少GC次数,提高运行效率。1、年青代      年青代包含一个eden区,两个survivor区,默认比例为8:1:1。  ...

2018-08-07 15:08:01 4150

原创 JVM垃圾回收

JAVA面试中常常会被问到JVM虚拟机中,垃圾回收的原理及算法,目前常用的回收算法有:复制算法、标记-清除算法、标记整理算法。1、复制算法      复制算法,主要通过将内存中还被使用的对象复制到指定内存,同时清空当前内存区域的算法。经典使用场景为分带算法中的新生代。            新生代内存分配如图,一个eden,两个survivor区,默认8:1:1。新生代中正在使用的...

2018-08-07 14:10:09 97

原创 递归和迭代的比较

迭代(Iteration)与递归(Recursion)是开发过程中常用的编程技巧,二者有相似,也有区别。1、递归简单地说,就是函数调用函数自己。通常把相同规则的业务,定义为一个函数,通过函数的重复调用,完成整体业务的实现。用有限的语句来定义对象的无限集合。比如,一个数字的阶乘计算,通过递归实现如下: //递归 public static int recursio...

2018-08-07 11:36:20 2286 2

原创 JVM虚拟机内存划分

       JAVA中,内存分配及垃圾回收都是交给JVM虚拟机自行管理,开发人员一般不需要介入,但是一旦发生内存泄漏等问题,如果对JVM一点不了解,排查起来可能会比较费力,甚至一头雾水,了解JVM对项目的健康正常运行有一定的帮助。      根据《Java虚拟机规范》的规定,运行时数据区通常包括这几个部分:程序计数器(Program Counter Register)、Java栈(VM St...

2018-08-06 21:37:46 164

原创 MySQL增加、修改、删除字段

1、增加字段语法:alter table 表名 add 列名 字段类型;示例:alter table perple add name varchar(200);改进:①增加默认值:alter table perple add name varchar(200) default null;②增加备注:alter table perple add name varchar(...

2018-08-06 15:04:46 15354

原创 设计模式-单例模式

单例模式很常用,但是一说到设计模式,有时候就会懵,感觉设计模式很高深,但是实际上,我们却经常使用。1、什么是单例模式单例模式,在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例,即一个类只有一个对象实例。2、实现模式饿汉模式:类加载时就初始化懒汉模式:类加载时不初始化,实际调用时才初始化3、饿汉模式//饿汉模式...

2018-08-03 16:46:57 97

原创 饿汉模式与懒汉模式比较及优化

饿汉模式与懒汉模式常见于单例模式中,二者初始化时机,线程安全等均不一样,详细分析如下:1、饿汉模式:从名字去理解,它很饿,所以在加载类的时候,就进行初始化了。//饿汉模式public class Singleton { //类加载时初始化 private static Singleton singleton = new Singleton(); //构造器...

2018-08-03 16:22:50 1707

原创 设计模式

Java开发中,必不可少,总会说到设计模式,开发人员能力的提高,知识的积累,也需要理解及掌握设计模式。1、什么是设计模式设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。说明:设计模式不是代码,而是某类问题的通用解决方案,是一种大家都知晓且使用的一种方法。2、设计模式的作用为了代码可重用性、让代码更容易被他人理解、保证代码可...

2018-08-03 15:31:20 89

原创 MySql查询int类型字段作查询条件注意事项

今天使用MySql查询时,发现一个诡异的现象,id是int类型自增主键,传入查询为UUID随机字符串,居然查到了记录,如图:研究发现,MySql以字符串第一个字符开始遍历,遇到非数字则结束,遍历到的数字作为查询条件,如上图第一个字母前的数字“1”作为条件,查询到Id为“1”的记录。如果想精确匹配,可以使用concat关键字,将Id转成字符串去比较,可以精确匹配,如图: ...

2018-07-27 13:54:09 5030

原创 JAVA基础--数据类型学习总结

java中的数据类型,分为引用类型和基本数据类型,其中基本类型有8种,六种数字类型(四个整数型(默认是int 型),两个浮点型(默认是double 型)),一种字符类型,还有一种布尔型。整型: byte, short, int, long浮点型: float, double字符型: charBoolean型: boolean类型 占位 最大值...

2017-08-03 22:09:10 233

原创 JAVA基础--JAVA平台技术标准总结

一、JAVA平台技术标准:1999年Sun发布了基于Java的三个平台技术标准:J2SE、J2EE和J2ME(2005年之后他们分别被更名为Java SE、Java EE和Java ME)。1、Java SE(Java Platform, Standard Edition)称之为“Java平台标准版”,是Java平台的基础,用于桌面应用。 Java SE包含了运行Java应用所需...

2017-08-03 20:55:52 1453

rtmp视频流播放器

rtmp视频流播放器,打开文件中的html文件,在STREAM URL中输入rtmp视频流地址即可播放

2020-05-07

HLSdemo.zip

HLS视频流播放demo,可以实时播放HLS视频流,也可以嵌入其他页面。包含完整的css、js文件,只需要修改HLS流地址即可直接播放

2020-05-07

drools-distribution-7.7.0.Final

drools规则引擎相关文件, 源码:\drools-distribution-7.7.0.Final\sources\drools-core-7.7.0.Final-sources.jar、 jar包:\drools-distribution-7.7.0.Final\binaries\drools-core-7.7.0.Final.jar、 API:\drools-distribution-7.7.0.Final\javadoc\public\index.html

2018-07-27

spring框架DEMO

简单的spring框架demo,适合初学者理解spring,入门级代码

2015-11-17

空空如也

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

TA关注的人

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