throws

Zookeeper监听服务器节点动态上下线案例

时间秒杀一切 提交于 2019-12-02 00:08:21
1.需求   某分布式系统中,主节点可以有多台,可以动态上下线,任意一台客户端都能实时感知到主节点服务器的上下线。 2.需求分析 3.具体实现 (0)先在集群上创建/servers节点: [zk: localhost:2181(CONNECTED) 10] create /servers "servers" Created /servers ( 1)服务器端向Zookeeper注册代码: import org.apache.zookeeper.*; import org.jetbrains.annotations.NotNull; import java.io.IOException; public class DistributeServer { public static void main(@NotNull String[] args) throws IOException, KeeperException, InterruptedException { DistributeServer server = new DistributeServer(); // 思路:先写大框架!在考虑细节 // 1.连接zookeeper集群 server.getConnect(); // 2.注册节点 server.regist(args[0]); // 3.业务逻辑处理 server

使用Nio实现一个简易的群聊和单聊

怎甘沉沦 提交于 2019-12-01 22:43:50
服务端:接收客户端发送的消息,并进行转发。 package socket.demo2; import java.io.IOException; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.nio.ByteBuffer; import java.nio.channels.*; import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Iterator; import java.util.Map; /** * 聊天服务端 * @author 一池春水倾半城 * @date 2019/10/22 */ public class Server { private Selector selector; // 人数统计、昵称和主机地址记录 private Map<String, String> users = new HashMap<>(); ByteBuffer buffer = ByteBuffer.allocate(2048); public Server(int port) throws IOException { // 开启服务端通道

【Jmeter源码解读】003——TCP采样器代码解析

孤街浪徒 提交于 2019-12-01 19:31:49
  采样器地址为 src.protocol.tcp.sampler 1.结构图 还有两个文件 ReadException:响应的异常,举例子就是服务端发生读取文本的问题,会产生异常 TCPSampler:采样器的具体实现 2.方法理解 2.1、 TCPClient.java 1 //在线程启动时调用 2 void setupTest(); 3 4 //在线程结束时调用 5 void teardownTest(); 6 7 //抛出异常 8 void write(OutputStream os, InputStream is) throws IOException; 9 void write(OutputStream os, String s) throws IOException; 10 11 //返回一个从socket中读出的String(v3.3后已经过时) 12 String read(InputStream is) throws ReadException; 13 14 //返回一个从socket中读出的String 15 String read(InputStream is, SampleResult sampleResult) throws ReadException; 16 17 //获取行尾消息尾字节+返回 18 byte getEolByte(); 19 20 /

RSA非对称加密方式

纵饮孤独 提交于 2019-12-01 12:10:00
记录一下所学到的东西,不一定适合各种情况,因为架构的原因所以使用了jfinal的两个包,可以参考一下。 import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey; import java.security.interfaces.RSAPrivateKey; import java.security.interfaces.RSAPublicKey; import java.security.spec.PKCS8EncodedKeySpec; import java.security.spec.X509EncodedKeySpec; import javax.crypto.Cipher; import org.apache.commons.codec.binary.Base64; import com.jfinal.kit.StrKit; import com.jfinal.plugin.redis.Redis; public class RSAtool { /** * 生成密钥对 * @throws

java - checked exception for 'throws' in overridden method

ぃ、小莉子 提交于 2019-12-01 12:09:42
I was practicing exception handling mechanisms with method overriding in java...My code is as follows: class base { void show() { System.out.println("in base class method"); } } class derived extends base { void show() throws IOException { System.out.println("in derived class method"); throw new IOException(); } } class my { public static void main(String[] args) { try { base b = new derived(); b.show(); } catch (IOException e) { System.out.println("exception occurred at :" + e); } } } Showing an error : So, I corrected following: void show() throws IOException{ and it is working correctly...

Java异常类及处理

别说谁变了你拦得住时间么 提交于 2019-12-01 12:02:04
异常概述 :运行时发生的不正常情况 在java中用类的形式对不正常的情况进行了描述和封装对象。 描述不正常的类,称之为 异常类 。 异常就是java通过面向对象的思想将问题封装成了对象,用异常类对其进行描述。 不同的问题用不同的类进行具体的描述,比如角标越界,空指针等。 异常体系两大类: 无论是 error,还是Exception,问题发生就应该可以抛出,让调用者知道并处理, 该体系的特点就在于 Throwable 及其所有子类都具备可抛性。 Throwable : ① 一般不可处理的。Error 特点:是由JVM抛出的严重性问题;这种问题一般不针对处理,直接修改程序。 ② 可处理的。Exception 可抛性:被throws 和 throw 关键字所操作的类和对象都具备可抛性 该体系的特点:子类的后缀名都是用其父类名作为后缀名,阅读性很强。 异常分类: 检测性异常:即除RuntimeException及其子类以外的异常。这类异常在编译时就进行检测,不处理不能通过; 非检测性异常:即运运行时异常RuntimeException及其子类。这类异常不处理变异也可以通过,如果有抛出 直接抛到控制台让调用者进行修正; 自定义异常: 要么继承 Exception 要么继承 RuntimeException 如果抛出一个在Java中没有定义过的异常,这时就需要自定义创建一个异常类。 注 :

20182323 《程序设计与设计结构》 第六周学习总结

房东的猫 提交于 2019-12-01 10:26:03
目录 学号20182323 2019-2020-1 《数据结构与面向对象程序设计》第6周学习总结 教材学习内容总结 教材学习中的问题和解决过程 代码调试中的问题和解决过程 代码托管 上周考试错题总结 结对及互评 点评模板: 点评过的同学博客和代码 学习进度条 参考资料 目录 学号20182323 2019-2020-1 《数据结构与面向对象程序设计》第6周学习总结 教材学习内容总结 第9章 关键概念 多态引用在不同的时候可以指向不同类型的对象 多态引用在运行时才将方法调用与它的定义绑定在一起 引用变量可以指向声明继承于它的任意类的任何对象 对象的类型,而不是引用的类型,决定调用的是方法的哪个版本 接口是一组抽象方法,所以不能被实例化 继承可适用于接口,所以一个接口可派生于另一个接口 接口引用可以指向实现这个接口的任意类的任何对象 方法的参数可以是多态的,这样使方法具备了对其参数进行控制的灵活性 在侦听器和所侦听组件之间建立关系是通过多态完成的 重点总结 当一个类给出了接口中定义的每个抽象方法的实现是,就称类实现了接口 如果接口中的某个方法没在类中实现,则编译错误 接口只保证类实现了某些方法,但它不限制类可以有其他的行为 多个类可以实现同一个接口,并在类中提供它们各自对方法的定义 接口中还可以包含常量,这些常量用final修饰符来定义 子接口继承父接口中的所有抽象方法和常量

其他注意

旧街凉风 提交于 2019-12-01 10:22:29
将一个xml导入到另一个xml去代理执行,导入db.properties文件导xml。 <context:property-placeholder location="classpath:conf/*.properties"/> //导入所有配置文件 <import resource="applicationContext-dao.xml"/> //这个导入目前仅在Spring中用过 对象注入的时候注入的都是类不能是接口 异常机制就是不断的往上抛,一直跑到顶层才算罢休。如果一直都不解决就会炸锅。 throw 和 throws都是抛异常,都抛给try。这个try是定义才程序的外层,或者最外层。如果try不处理就会一直抛到jvm直到jvm报错。其中throw还能加入自定义的信息进去,给前端友好的提示,但是throws就只会给出系统的默认报错提示信息,不友好。 try就是抓取,throw(s)就是负责抛出,`所以try要定义在throw的顶层,这样他能保证可以抓到错误。可以定义多层try。throw可以指定要抛出哪个异常对象,而不一定非得出错。而是想抛就抛,想抛什么就抛什么,还可以加入自己的信息。但是throws就是完全有jvm说了算,它抛的都是实际的情况,遇到才抛,不能加入自己的信息。 这个顶层的概念是说程序执行的顺序,先执行的是在顶层,外面还可以有很多层。因为执行遇到错误会往上抛。

java - checked exception for 'throws' in overridden method

随声附和 提交于 2019-12-01 10:13:15
问题 I was practicing exception handling mechanisms with method overriding in java...My code is as follows: class base { void show() { System.out.println("in base class method"); } } class derived extends base { void show() throws IOException { System.out.println("in derived class method"); throw new IOException(); } } class my { public static void main(String[] args) { try { base b = new derived(); b.show(); } catch (IOException e) { System.out.println("exception occurred at :" + e); } } }

20182309 2019-2020-1 《数据结构与面向对象程序设计》第6周学习总结

陌路散爱 提交于 2019-12-01 10:12:55
20182309 2019-2020-1 《数据结构与面向对象程序设计》第6周学习总结 教材学习内容总结 多态引用再不同时候可以指向不同类型的对象 通过继承实现多态 接口可以多继承,实现多态 异常不捕获会让程序终止 try-catch语句可以捕获异常,让程序继续 finally子句无论如何都要执行 异常传播,类的层次 I/O异常 教材学习中的问题和解决过程 问题1:try-catch语句 问题1解决方案:如果代码没有产生异常,将继续执行try语句后的语句块,所有catch子句后的语句。如果有异常,则控制立刻转移到相应的catch子句处理异常。 问题2:可检测异常与不可检测异常的差异 问题2解决方案:可检测异常必须由方法捕获,或者必须在可能抛出或传递异常方法的throws子句中列出来。throws子句用在方法头。throw子句用在方法中。java中唯一的不可检测异常是RuntimeException类的对象或该类的后代类对象。 代码调试中的问题和解决过程 问题1:试图捕获字符串越界的异常,但是没有出现 问题1解决方案:字符串有自动扩充的功能,容量为2X+2 代码托管 上周考试错题总结 1.What does the following code do? Assume list is an array of int values, temp is some previously