自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线程池

线程池线程池线程间通信如何保证线程间通信有效利用资源等待唤醒中的方法线程池线程池思想概述线程池的使用线程池线程间通信概念:多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同。比如:线程A是用来生成包子的,线程B是用来吃包子的,包子可以理解为同一资源,线程A与线程B处理的动作,一个是生产,一个是消费,那么线程A和线程B之间就存在线程通信 的问题。如何保证线程间通信有效利用资源...

2019-10-06 20:08:23 242

原创 线程安全

线程安全线程安全线程同步同步代码块同步方法线程状态sleep方法的几个注意点线程安全如果多个线程在同时运行,而这些线程可能会同时运行这段代码。程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。线程同步当我们使用多个线程访问同一资源的时候,且多个线程对资源有写的操作,就容易出现线程安全问题。要解决上述多线程并发访问一个资源的安全性问题,Jav...

2019-09-29 16:24:49 240 1

原创 多线程

多线程并发和并行并发:指两个或者多个事件在同一时间段内发生在操作系统中,安装了多个程序,并发指的是在一段时间内宏观上有多个程序同时运行,这在单CPU系统中,每个时刻只能有一道程序执行,即微观上这些程序是分时的交替运行,只不过给人的感觉是同时运行的,那是因为交替运行的时间非常短的当系统只有一个CPU时,线程会以某种顺序执行多个程序,这种情况称为线程的调度并行:指两个或多个事件在同一时间发生...

2019-09-28 21:48:40 153

原创 异常

异常概念指的是程序执行过程中,出现的非正常的情况,最终导致JVM的非正常停止。在Java等面向对象的编程语言中,异常本身就是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常的方式就是中断处理。异常体系异常机制其实就是帮助我们找到程序中的问题,异常的根类是java.lang.Throwable,其下有两个子类:java.lang.Error与java.lang.Exc...

2019-09-28 20:22:36 161

原创 Map集合

Map集合概述Map集合中常用的子类Map集合中常用的方法Map集合的遍历HashMap存储自定义类型键值LinkedHashMap概述Collection中的集合,元素是孤立存在的。向集合中存储元素采用一个个元素的方式存储。Map中的集合,元素是成对存在的。每个元素由键和值两个部分组成,通过键可以找到对应的值。Map中的集合不能包含重复的键,值可以重复;每个键可以对应一个值。Map集合中...

2019-09-27 21:34:38 134

原创 List集合和Set集合

List集合简单介绍java.util.List接口继承自Collection接口,是单列集合的一个重要分支。在List集合中允许出现重复的元素所有的元素是以一种线性方式进行存储的,在程序中可以索引来访问集合中的指定元素。另外List集合还有一个特点是元素有序,即元素的存入顺序和取出顺序一致。List接口的特点:它是一个元素存取有顺序的集合它是一个带索引的集合,通过索引就可以精确操作集...

2019-09-27 20:48:30 163

原创 有序链表的合并和链表的反转

有序链表的合并和链表的反转有序链表的合并链表的反转有序链表的合并主要采用了递归的思想package com.dataStructure.LinkedList;public class MyLinkedListTest { public static void main(String[] args) { /* * 合并两个链表: * ...

2019-09-26 22:07:24 295

原创 Collection集合

JavaSE复习(五)Collection集合概述:集合是java中提供的一种容器,可以用来存储多个数据。集合和数组的区别:数组的长度是固定的。集合的长度是可变的数组中存储的是同一类元素,可以存储基本数据类型值。集合存储的都是对象。而对象的类型可以不一致。在开发中一般当对象多的时候,使用集合存储。集合框架:集合按照存储结构可以分为两个类:单列集合:java.util.Coll...

2019-09-16 10:06:32 150

原创 JAVA中的数据类型

JavaSE复习(四)java中的基本类型和包装类java中提供了两个类型系统,基本类型和引用类型,使用基本类型在于效率,然而很多情况下会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,我们就可以使用基本类型对象的包装类。基本类型包装类型byteByteshortShortintIntegerlongLongf...

2019-09-15 11:06:04 97

原创 System类和String类

JavaSE复习(三)System类java.lang.System类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作,在System类的API文档中常用的方法有:public static long currentTimeMillis():返回以毫秒为单位的当前时间public static void arraycopy(Object src, int srcPos, Ob...

2019-09-15 10:47:19 599

原创 时间日期类

JavaSE复习(二)第二章 时间日期类2.1 Date类概述:java.util.Date类表示特定的瞬间,精确到毫秒。构造方法:public Date(): 分配Date对象并初始化该对象,以表示分配它的时间(精确到毫秒)(当前的时间)public Date(long date):分配Date对象并初始化此对象,以表示从标准时间以来的指定毫秒数。import java.uti...

2019-09-14 22:11:16 141

原创 Object类

JavaSE复习(一)第一章 Object类概述Object类中的方法toString方法equals方法第一章 Object类概述java.lang.Object类是Java语言的根类,它其中描述的所有方法子类都可以使用。如果一个类没有特别指定的父类,那么它的父类就是Object类。Object类中的方法主要学习两个方法 toString()和equals(Object object)...

2019-09-14 21:37:52 468 1

原创 工厂模式

工厂模式简单工厂模式UML图Pizza类GreekPizza类CheesePizza类SimpleFactory类OrderPizza类工厂方法模式UML类图Pizza类LDPepperPizza类LDCheesePizza类BJPepperPizza类BJCheesePizza类OrderPizza类BJOrderPizza类LDOrderPizza类抽象工厂模式UML类图Pizza类BJPep...

2019-08-31 21:48:01 136

原创 单例模式

单例模式简单介绍单例模式的常用的五种设计方式饿汉式(静态常量)饿汉式(静态代码块)双重检查静态内部类枚举简单介绍所谓类的单例模式,就是采取一定的方法保证在整个软件的设计系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。比如:Hibernate的SessionFactory,它充当数据存储源的代理,并负责创建Session对象。SessionFactor...

2019-08-31 17:51:08 114

原创 设计模式

设计模式设计模式的定义设计模式的七大原则单一职责原则基本介绍代码示例SingleResponsibility1SingleResponsibility2SingleResponsibility3接口隔离原则简单介绍Segregation1类Segregation2依赖倒转(倒置)原则基本介绍DependencyInversion1类DedenpencyInversion1改进类里氏替换原则基本介绍...

2019-08-27 08:47:55 122

原创

图图的简介图的代码实现顶点类图类测试类图的简介一个顶点(Vertex)可以与多个顶点连接。邻接:两个顶点通过一条边连通。有向图图的代码实现我们可以通过数组存储每个顶点,然后用邻接矩阵存储顶点之间的关系,1表示两个顶点相邻接,0表示两个顶点不邻接。顶点类package com.wuxudong.Graph;//顶点类public class Vertex { pr...

2019-08-25 21:10:14 200

原创 平衡二叉树

平衡二叉树简介平衡二叉树(AVL)的定义平衡二叉树的单旋转双旋转代码Node类AVLTree类TestAVLTree类简介虽然搜索二叉树在查询,删除,添加上具有一定的优势,但是在一些情况下的效率也特别低。比如下面的这个搜索二叉树:对于这样的搜索二叉树,我们进行添加,查找,删除时依然很麻烦。因此,我们需要将这样的搜索二叉树转为平衡二叉树。平衡二叉树(AVL)的定义首先,平衡二叉树是搜索二...

2019-08-24 21:20:23 2959 2

原创 搜索二叉树

搜索二叉树简介搜索二次函数的代码实现Node类BinaryTree类测试类简介搜索二叉树:左节点小于根节点,根节点小于右节点。如果对搜索二叉树进行中序遍历的话,那就是一个排好序的数组。搜索二叉树具有查找快,删除快,添加快,等于综合了顺序存储和链式存储的优点。搜索二次函数的代码实现包含了三个方法,添加,删除,查找Node类package com.wuxudong.BinarySort...

2019-08-24 09:36:40 487

原创 赫夫曼编码

赫夫曼编码简介举个例子代码实现赫夫曼编码和解码简介赫夫曼树的一个重要应用就是赫夫曼编码。赫夫曼编码是不定长编码,对于出现频率高的字母用较短的编码,对于出现频率低的使用较长的编码,从而进行数据的压缩。举个例子对于下面这个字符串,我们可以使用赫夫曼树进行编码can you can a can as a can canner can a can.第一步:我们可以统计出各个字符出现的频率,并...

2019-08-23 14:54:28 489 2

原创 赫夫曼树

赫夫曼树赫夫曼树:最优二叉树赫夫曼树的构造代码实现赫夫曼树:最优二叉树赫夫曼树定义了一个WPL值,这个值等于所有叶子节点的带权路径之和。例如:下面的三个树,我们可以分别计算出他们的WPL值。我们可以看到不同的树结构,对应了不同的WPL值,我们把WPL值最小的树称为赫夫曼树。从第二张图,我们可以看出权值越大的节点离根节点越近,越小的节点离根节点越远。赫夫曼树的构造对于这个数组,我...

2019-08-23 11:16:54 10867 5

原创 力扣笔试题day01

Day01第一题:两数之和第二题:两数相加第三题:无重复字符的最长子串第一题:两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] ...

2019-08-21 21:57:13 458

原创 二叉树的概念

二叉树的概念二叉树二叉树的存储结构代码TreeNode类(节点类)BinaryTree类(二叉树类)MyBinaryTree类(二叉树的具体实现类)二叉树的遍历:前序遍历,中序遍历,后序遍历MyBinaryTree类BinaryTree类TreeNode类二叉树任何一个节点的子节点的数量不超过2。二叉树的子节点分为左节点和右节点。满二叉树:所有子节点的都在最后一层,而且节点的总数为2n−12...

2019-08-19 19:58:36 147

原创 八种排序

八种排序方法冒泡排序快速排序冒泡排序冒泡排序的思路:冒泡需要两个for循环:外面的for循环表示需要循环的次数,为数组的长度,里层的for循环是来选择数组中的最大值。比如第一个循环后,最大的数就被排到数组的最后面,第二个循环后,第二大的数就被选出来排到后面。。。。等等,完成排序。代码package com.wuxudong.sort;import java.util.Arrays;...

2019-08-17 22:06:25 187

原创 递归解决汉诺塔问题

汉诺塔问题问题描述新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入问题描述哈哈哈哈哈哈,自己去4399玩新...

2019-08-17 16:29:38 122

原创 循环双向链表的实现

循环双向链表的实现代码测试代码代码package com.wuxudong.doublenode;//循环双向链表的实现public class DoubleNode { //双向链表存储三个数据,一个是当前节点的值,一个是上一个节点的引用,一个是下一个节点的引用 private int data; private DoubleNode pre=this;...

2019-08-17 15:25:21 481

原创 单向链表的实现

单向链表的实现简介Node类测试类简介单向链表是通过节点类实现的,每个节点包含两个成员变量,一个是存储的信息,一个是下一个节点的引用(地址值)。因此通过当前节点,我们就可以获取下一个节点,以此类推就可以火球整个链表的值。Node类package com.wuxudong.LinkedList;//定义节点public class Node { //每个节点存储了都存储了...

2019-08-17 11:16:58 179

原创 通过数组实现队列

数组实现队列数组实现队列队列代码测试代码数组实现队列实现方法与栈相同,不过队列是先进后出。队列代码package com.wuxudong.queue;//通过数组实现队列public class MyQueue { private int [] arr; public MyQueue(){ arr=new int [0]; } ...

2019-08-17 10:10:40 189

原创 通过数组实现栈

数组实现栈简单实现栈的实现代码栈的测试代码简单实现栈是先入后出的数据结构,我们通过数组来实现它。栈压入元素时,我们新建一个数组将元素存入到数组末尾的位置。栈取出元素时,我们获取数组最后位置的元素就可以了。栈的实现代码package com.wuxudong.test;//通过数组实现栈public class MyStack { //定义数组 private int...

2019-08-16 22:19:45 342

原创 实现对String类型的数组进行排序

String类型数组排序数组排序代码数组排序对于基本数据类型的数组,我们可以通过java.util包中的Arrays类调动sort方法进行排序。对于引用类型的数组,我们可以实现Comparator接口,并重写他的compare方法。对于compare方法的放回值,如果是大于则返回正数,小于则返回负数,等于则返回0。代码import java.util.Arrays;import ja...

2019-08-16 11:04:26 6898

原创 String中重写Object类的equals方法的源码

String类String类中的equals方法重写了Object类中的equals方法。Object类中的equals方法比较的是两个对象的引用是否相等。而String类中的equals方法不仅可以比较两个对象的应用是否相等还可以比较两个String类型的具体值是否相同。源码:public boolean equals(Object anObject) { if (this...

2019-08-16 10:20:40 577

原创 Java中的Collection

Collection APICollection简介Iterator接口的简介Collection简介在类库中,Java语言包含有对一些普通数据结构的实现。该语言的一部分通常叫作Collection API。Collection API位于java.util包中。Collection实现了Iterable接口。实现了Iterable接口的类可以使用增强的for循环。Iterator接口的简介...

2019-08-15 22:26:56 471

原创 学习算法的第一天

算法分析的基础知识算法的定义估计算法资源消耗的数学基础计算时间复杂度的一般法则算法的定义算法是为了求解一个问题需要循环的、被清楚指定的简单指令的集合。对于一个问题,一旦某种算法给定并且被确定是正确的,那么重要的一步就是确定该算法将需要多少诸如时间或空间等资源量的问题估计算法资源消耗的数学基础定义一:如果存在正常数c和n0n_0n0​使得当 N>=n0N>=n_0...

2019-08-15 11:23:42 101

原创 JPA简单的增删改查

JPA的增删改查创建JPA的工具类JPAUtil增:persist改:merge删:remove根据id查询查询实体的缓存问题带有延迟加载的查询创建JPA的工具类JPAUtil由于EntityManagerFactory是一个线程安全的对象(即多个线程访问同一个EntityManagerFactory对象不会有线程安全问题),并且EntityManagerFactory的创建极其浪费资源,所以...

2019-08-14 21:18:24 514

原创 JPA的简单入门

JPA的简单入门JPA简介JPA入门程序第一步:创建数据库表第二步:创建maven工程,导入jar包第三步:创建实体类并配置与数据库的映射关系第四步:配置JPA的核心配置文件第五步:写测试程序JPA简介JPA的全称是Java Persistence API,即Java持久化API,是SUN公司推出的一套基于ORM的规范,内部是由一系列的接口和抽象类构成。通俗的来讲,JPA其实就是一套规范,各...

2019-08-14 16:52:59 217

原创 ElasticSearch的基本使用

ElasticSearch的基本使用ElasticSearch简介es的安装elasticsearch-head插件安装及使用elasticsearch-head的下载使用ElasticSearch简介ElaticSearch,简称为es,es是一个开源的高扩展的分布式全文检索引擎,他可以近乎实时的存储,检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es也是使用Java...

2019-08-13 19:54:56 109

原创 Lucene全文检索

Lucene全文检索Lucene的介绍Lucene的应用场景Lucene实现全文检索的过程创建索引的过程1. 获得原始文档2.创建文档对象3.分析文档4.创建索引5.查询索引代码实现查询索引的过程1.用户查询接口2.创建查询3.执行查询4.渲染结果代码Lucene的介绍全文检索的概念:将非结构化的数据(大小不定,格式不定)中的一部分信息提取出来,重新组织,使其变得有一定结构,然后对此有一定结构...

2019-08-13 11:37:04 169

原创 Spring-Security中页面端标签控制权限的使用

页面端标签控制权限的使用使用步骤第一步:导入Maven依赖第二步:在jsp页面导入第三步:在页面上使用使用步骤第一步:导入Maven依赖 <!--页面端控制标签的依赖--> <dependency> <groupId>org.springframework.security</groupId> ...

2019-08-12 10:43:46 1598 2

原创 Spring-security中控制方法访问权限注解的使用

控制方法访问的注解使用JSR-250的介绍使用步骤第一步:在spring-security.xml中开启第二步:导入maven依赖第三步:在指定的方法上添加注解另外在web.xml中可以配置403出错的页面@Secured注解的使用第一步:在spring-security文件中开启注解第二步:在对应的方法上添加注解表达式使用的介绍第一步:在spring-security中开启配置第二步:使用,可以...

2019-08-12 10:15:26 3049 1

原创 记录几个写项目时遇到的几个问题

问题记录数据库多表删除的问题举一个项目中遇到的一个涉及三表删除的问题创建用户表创建角色表由于用户和角色是多对多的关系,因此需要一张中间表user_roleMyBatis注解中dao层获取方法的输入的问题问题描述数据库多表删除的问题在项目中,我们需要删除一张表中的某些数据,而这些数据同时在其他表中也有,如何实现多表的删除是一个问题。目前,我只学会了一种方法,就是在创建表时在表的外键上添加级联删...

2019-08-08 21:47:05 228

原创 Oracle数据库中能查出数据但项目中却查不出的原因

Oracle数据库中能查出数据但项目中却查不出的原因在写项目时,所有的代码都是对的,但项目查不出数据库的数据,原因是Oracle数据库不同于MySql数据库,Oracle数据库在进行增删改操作是并不会自动提交事务。因此,创建表后,对表进行增删改时要进行commit提交事务。在写项目时,所有的代码都是对的,但项目查不出数据库的数据,原因是Oracle数据库不同于MySql数据库,Oracle数据库...

2019-08-05 16:39:44 4839

空空如也

空空如也

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

TA关注的人

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