throws

吃透Shiro源码第四天

情到浓时终转凉″ 提交于 2019-12-11 03:22:54
文章目录 技术手法 (1)究竟什么是缓存 (2)用Map作为缓存实现 (3)如何管理缓存生命周期 (4)AOP解析方法上的注解思路 重点研究类 技术手法 (1)究竟什么是缓存 缓存这个词语,我耳朵都快听出茧子了,什么Redis、Ecache。不过,到底什么是缓存,说实在的,我一直很模糊其概念。今天终于接近了缓存代码的源头。缓存到底是什么?我的总结:缓存对象是一个可以封装多组键值对的特殊对象。因此,缓存可以视为一种容器。 如下代码展示了缓存最顶层的接口。原来缓存一点都不神秘,它就是一种可以用来增删对象的容器。 public interface Cache < K , V > . . . /** * 存 * * @param key key * @param value value */ void put ( K key , V value ) throws CacheException ; /** * 取 * * @param key key * @return value */ V get ( K key ) throws CacheException ; /** * 删 * * @param k key * @return value */ V remove ( K k ) throws CacheException ; (2)用Map作为缓存实现 既然缓存是容器

zookeeper --java API基本操作

拈花ヽ惹草 提交于 2019-12-11 02:37:59
org.apache.zookeeper.Zookeeper Zookeeper 是在Java中客户端主类,负责建立与zookeeper集群的会话,并提供方法进行操作。 org.apache.zookeeper.Watcher Watcher接口表示一个标准的事件处理器,其定义了事件通知相关的逻辑,包含KeeperState和EventType两个枚举类,分别代表了通知状态和事件类型,同时定义了 事件的回调方法:process(WatchedEvent event) 。 process方法是Watcher接口中的一个回调方法,当ZooKeeper向客户端发送一个Watcher事件通知时,客户端就会对相应的process方法进行回调,从而实现对事件的处理。 import org.apache.zookeeper.*; import java.util.List; /** * @author kismet * @date 2019-12-10 10:52 */ public class zookeeperDemo1 { public static void main(String[] args) throws Exception { // 初始化 ZooKeeper实例(zk地址、会话超时时间,与系统默认一致、watcher) ZooKeeper zk = new ZooKeeper(

日期工具类

不问归期 提交于 2019-12-10 09:16:46
import java . text . ParseException ; import java . text . SimpleDateFormat ; import java . util . * ; /** * 日期操作工具类 */ public class DateUtils { /** * 日期转换- String -> Date * * @param dateString 字符串时间 * @return Date类型信息 * @throws Exception 抛出异常 */ public static Date parseString2Date ( String dateString ) throws Exception { if ( dateString == null ) { return null ; } return parseString2Date ( dateString , "yyyy-MM-dd" ) ; } /** * 日期转换- String -> Date * * @param dateString 字符串时间 * @param pattern 格式模板 * @return Date类型信息 * @throws Exception 抛出异常 */ public static Date parseString2Date ( String

java基础之异常 · fossi

冷暖自知 提交于 2019-12-10 01:10:26
在开发中,异常处理是一个不可绕开的话题,我们对于异常的处理已经非常熟练了,对于异常本身的概念、用法等不再赘述了,直接结合面试问题来加深对异常的理解吧。 Throwable 可以用来表示任何可以作为异常抛出的类,分为两种: Error 和 Exception 。 1. 什么是Java异常 异常是发生在进程执行过程中阻碍进程正常执行的错误事件。比如:用户输入错误数据、硬件故障、网络阻塞等都会导致出现异常。 只要在Java语句执行中产生了异常, 一个异常对象就会被创建 ,JRE就会试图寻找异常处理进程来处理异常。如果有合适的异常处理进程,异常对象就会被异常处理进程接管,否则,将引发运行环境异常,JRE终止进程执行。 Java异常处理框架只能处理运行时错误,编译错误不在其考虑范围之内。 2. Error和Exception的区别 Error:是进程无法处理的错误,表示运行应用进程中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM出现的问题。 例如,Java虚拟机运行错误,当 JVM 不再有继续执行操作所需的内存资源时,将出现 OutOfMemoryError 。这些异常发生时,Java虚拟机一般会选择线程终止。 3. Java异常处理中有哪些关键字? throw :有时我们需要显式地创建并抛出异常对象来终止进程的正常执行。 throw

20172306《Java程序设计与数据结构》第九周学习总结

让人想犯罪 __ 提交于 2019-12-09 13:46:00
20172306《Java程序设计》第九周学习总结 教材学习内容总结 第十一章: try-catch语句。其中还有finally语句。try是进行某些操作,catch是捕获异常,并通过某些异常来进行某些操作。finally是无论是否有异常都会进行的语句。可以没有catch语句。 异常的传递。我觉得传递,主要是某地方的异常是由其他的方法引起的,异常就会传递到那个方法上。书中的例子可以很好的表现出来。 IO异常。书中的内容主要是围绕异常来写。老师在蓝墨云中有写有关IO更为详细的内容。例如创建文件,写入文件,读取文件等等。 第十二章: 递归和循环是差不多的但是还是有不同的。对于死循环和死递归,死循环会一直循环运行,而死递归会出现溢出。因为空间是有限的。 通过迷宫旅行和汉诺塔问题的模型,我个人学习到的是,考虑问题需要详细一些。具体的代码如何编写,我认为更重要的是理解它是如何进行操作的。 教材学习中的问题和解决过程 问题1:什么是方法调用堆栈踪迹? 问题1解决方案:我上网查了一下。 问题2:对于eg11.2中一行代码:district = Integer.parseInt(code.substring(3,7));中(3,7)不明白是多少到多少? 问题2解决方案:利用IDEA可以看到,substring(begineIndex,endIndex);我又问了同学,知道了这个应该是索引3,4,5

Catching an Exception and rethrowing it, but it's not an Exception

一个人想着一个人 提交于 2019-12-08 15:40:36
问题 I stumbled upon code looking something like this: void run() { try { doSomething(); } catch (Exception ex) { System.out.println("Error: " + ex); throw ex; } } void doSomething() { throw new RuntimeException(); } This code surprises me because it looks like the run() -method is capable of throwing an Exception , since it catches Exception and then rethrows it, but the method is not declared to throw Exception and apparently doesn't need to be. This code compiles just fine (in Java 11 at least)

Scaladoc (2.11.6) fails on throws tag with “unable to find any member to link”

南楼画角 提交于 2019-12-06 20:51:17
问题 When attempting to publish the jars for my project via sbt "++2.11.6 publishLocal" or sbt +publishLocal , I encounter Scaladoc issues when publishing for Scala 2.11.6. It appears that I have invalid links caused by the @throws tag. I am not sure why I have invalid links nor why the error only occurs for Scala 2.11.6 while not for Scala 2.10.5 during my cross-publishing. I can't find any indication that the @throws tag is not supported on Scala 2.11; so, I'm assuming it is an issue with my

异常(二)

随声附和 提交于 2019-12-06 10:45:28
抛出异常 方法异常声明 格式: public void 方法名() throws 异常名1,异常名2{ //代码块 } 需要注意虽然在throws后的异常名不要求按照大小排序,但是好的书写习惯最好还是按照大小排序。 作用: 提醒调用者该方法有异常; 声明异常后,方法内部不用try-catch 该try-catch还是try-catch,在catch中不通过PrintStackTrace()方法打印,书写throw e;抛出异常(如果需要抛出异常,那么在方法处必须通过Throws声明异常) 自定义异常 异常的所有主要代码都书写在Throwable类中。 定义: 自定义异常名 extends 父类异常{ //在通过在构造其中运用super()调用父类的构造方法。 } 使用: catch|(....){ throw new 自定义异常名(); //及抛出一个自己声明的异常对象 } 来源: https://www.cnblogs.com/-Archenemy-/p/11978775.html

Java 异常

孤人 提交于 2019-12-06 05:19:51
一、概念 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户?或者用C语言风格:用函数返回值作为执行状态? Java提供了更加优秀的解决办法:异常处理机制。 异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰。 Java中的异常可以是函数中的语句执行时引发的,也可以是程序员通过throw 语句手动抛出的,只要在Java程序中产生了异常,就会用一个对应类型的异常对象来封装异常,JRE就会试图寻找异常处理程序来处理异常。 Throwable类是Java异常类型的顶层父类,一个对象只有是 Throwable 类的(直接或者间接)实例,他才是一个异常对象,才能被异常处理机制识别。 JDK中内建了一些常用的异常类,我们也可以自定义异常。 二、Java异常的分类和类结构图 Java标准裤内建了一些通用的异常,这些类以Throwable为顶层父类。 Throwable又派生出Error类和Exception类。 错误 :Error类以及他的子类的实例,代表了JVM本身的错误。错误不能被程序员通过代码处理,Error很少出现。因此,程序员应该关注Exception为父类的分支下的各种异常类。 异常

Java的异常处理

我的未来我决定 提交于 2019-12-06 05:17:01
在写代码的过程中难免会遇到一些异常。这些异常在程序员看来可能不是很难以理解,但是当我们的项目交给一些看不懂代码的人的时候,我们就希望那些异常我们能够转换为他们 能够看懂的语句。 Java中的异常体系: 其实在Java的异常中是有一个类在反应它的一些异常机制。而异常的跟类是Java.lang.Throwable,而其下有两个子类,分别是java.lang.Error和java.lang.Exception,而我们所要处理的就是第二个。 异常的处理: 我们处理异常用到的五个关键字:try,catch,finally,throw,throws。 throw用在方法内,后面接一个异常的对象,格式:throw new 异常类名(参数); 如:throw new NullPointerException(“数组不存在或者找不到”); 大概就是一个简单的'抛'原理,将我们发现的异常抛出来等待处理。 throws于throw看单词就能明白大概就是throw的一个集合。 而真实的throws运用于方法声明之上throws格式为:修饰符 返回值类型 方法名(参数)throws 异常对象类名1......; 可以接多个异常类名。用于表示当前方法不处理异常,而是提醒该方法的调用者来处理异常,和throw类似,他们都是通过抛出异常来等待之后的代码来处理。 try catch