Java
学点什么吧
这个作者很懒,什么都没留下…
展开
-
拓扑排序的Java实现(使用深度优先和广度优先)
一、准备工作 首先,准备一个测试的样例。给出如下的邻接矩阵(也可以不同的输入,只要能够找到指向某一个节点的其他节点即可): int a[][] = { {0,1,1,1,0,0}, {0,0,0,0,0,0}, {0,1,0,0,1,0}, {0,0,0,0,1,0}, {0,0,0,0,0,0}, {1,0,0,1,1,0} }; 由于没有优先级限制,所以多个节点可用时,采用谁下标小先使用谁的原则,可以很容易的得到该临界矩阵的拓扑排序结果为 5 0 2 1 3 4原创 2020-08-04 16:22:58 · 938 阅读 · 0 评论 -
Spring简单入门(五)——事务管理
对于数据库操作,仅仅会使用JdbcTemplate是不够的,还需要学习事务管理。首先,明确事务是干什么的?事务时保证一组操作要么都成功要么都失败。经典的例子是转账操作:先扣A的钱,再加B的钱,如果中间发生异常,我们知道系统是会抛出异常并且不会执行后面的非finally语句,因此就会导致A扣了钱,但是B没加钱(用户及其崩溃)因此就需要配置事务来保证。 (1)三个基本接口 对于所有的有事务管理功能的框架,其基本上都离不开这三个接口。 ①PlatformTransactionManager事务管理器接口。这原创 2020-07-23 14:56:51 · 191 阅读 · 0 评论 -
Spring简单入门(四)——JdbcTemplate
首先,Spring在框架中的地位,无论是SSH还是SSM,都是主要负责业务层。而对于其他方面,Spring都有封装,但是并非所长。而本文所讲的JdbcTemplate则是对Jdbc操作的一个简单封装,功能与专门的数据库框架相比相差较远 (1)原始JDBC操作 Class.forName("com.mysql.cj.jdbc.com"); String url = ""; String userName = ""; String password = ""; Connection connection原创 2020-07-22 21:12:01 · 280 阅读 · 0 评论 -
Spring简单入门(三)——面向切面编程aop
首先介绍,什么是Aop,通俗来讲就是我们要对一个类的方法进行一些增强(例如在方法执行之前或者之后执行一些操作),我们不是采用修改源代码或者继承对方法再修改这种纵向抽取机制(要写大量重复代码),而是采用代理模式来增强。因此Aop就是使用代理实现的。 (1)基本概念的介绍 连接点JointPoint:被增强类里面的所有可用方法(这个概念基本没用) 切入点PointCut:类中需要被增强的方法。(重要概念,即连接点不一定是切入点,但是切入点一定是连接点) 通知Adviser:增强的方法,即需...原创 2020-07-22 20:16:32 · 297 阅读 · 0 评论 -
Spring简单入门(二)——依赖注入DI
什么是依赖注入?通俗来说,就是创建一个对象时,把其成员变量也都给赋值。而注入方式主要有3种:①原理是通过类的构造函数来创建的(基于XML)。②原理是通过类的set方法来构造的(基于XML)。③就是通过注解的方式来获得。当然根据注入数据的不同,每种方式又有不同的方法:①基本数据和String类型、②IoC中注册的Bean类型、③Array、List、Set、Map、Properties等复杂类型 注:依赖注入是在IoC的基础上进行的,即无论采用何种方式进行注入,首先得把IoC相关的东西写好。(详情可见htt原创 2020-07-22 16:40:13 · 113 阅读 · 0 评论 -
Spring的简单入门(一)——对象的创建
Spring主要是IoC和Aop,本文主要讲解IoC的简单使用。IoC,即控制反转,即通过配置文件来创建对象,当然还通过注解来创建对象。总的来说,不使用new来创建对象等。 一、对象的创建 (1)对象的获取 对象的创建过程实际上是将对象注册到IoC容器中,再通过getBean()取出的过程。根据配置不同分为基于xml配置文件和基于注解方式。但不管怎么样,两者都是为了将Bean对象配置到IoC容器中。 //基于XML ApplicationContext context = new ClassPat原创 2020-07-22 15:10:25 · 186 阅读 · 0 评论 -
Dom4j的入门使用
引言 在设计模式中或者其他代码编写过程中,通常会用到面向抽象编程。即客户端只需要知道接口或者抽象类的名称即可,不需要关心具体的实现类的名称,而是通过在配置文件中配置相关的实现类来完成。同时修改配置文件即完成实现类的更换,从而使得程序对客户端也符合开闭原则。 好吧以上都是废话,主要就是说明啥时候需要使用Dom4j,就是说需要从配置文件中获取具体实现类时 准备工作 ①需要使用dom4j.jar包,网上下载或者去我的主页下载都行,然后导入到工程中即可 ②配置文件config.xml ,具体位置无所谓,.原创 2020-07-18 14:58:35 · 220 阅读 · 0 评论 -
Java线程池之ThreadPoolExecutor以及工具类Executors类
首先,介绍线程池的概念。 简单讲,就是有一个“池”内放着一些已经启动的线程,这些线程一直启动,用来执行线程池接受的任务。这些线程我们称为核心线程。 有时候接受任务过多,核心线程都在使用了,线程池还会创建一些线程来执行任务,任务执行完毕也就可以释放掉资源了(一般设置超时时间),这种线程我们称为救急线程。 如果任务还多,救急线程数目也超了上限,那么新来的任务就只能进入一个队列进行阻塞。称为阻塞队列。 ThreadPoolExecutor的创建参数就是基于上述的概念: ThreadPoolExecut原创 2020-05-26 11:31:10 · 1578 阅读 · 0 评论