lesson5:java异常机制总结

预处理详解(三)—— 命令行定义 + 条件编译 + 文件包含 文章目录前言 前言 阅读详情

一.为什么需要异常

    异常机制是一门成熟语言的标准,异常机制可以使得程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅和更加健壮。

二.异常的分类和继承关系

    1.Java中的异常有两种,即编译时和运行时异常。编译时异常是在编译时就要被处理的异常,提醒程序员需要处理编译时就可能遇到的异常。而运行时异常则无需处理。
    2.常见异常继承关系:
常见异常类继承关系
我们可以看到Error(错误)和Exception(异常)都继承自Throwable这个接口,Error一般与虚拟机相关,我们无法恢复或不可能捕获,当程序发生错误时,程序则发生奔溃中断。

三.异常的处理和自定义异常

    Java中的异常处理,主要是由5个关键字处理,即try catch finally throws throw;简单的讲一讲各个关键字的作用:try后面跟着{},{}里面的代码块是可能发生异常的代码,后面一般会跟着catch(异常类型){},也有可能有多个catch,finally一般是跟在catch后面的,如果有finally这个关键字,那finally这个关键字后面的代码块总是被执行,需要注意的是除了try块,catch finllay块都不是必须的,但至少有其中之一。throws 是在方法签名时声明该方法可能会抛出一个异常,throw后面则是跟着具体的异常对象;

1.一般处理

try{
     // 程序代码
}catch(ExceptionName e1){
    //Catch 块
}

2.多重捕获

try{
     // 程序代码
}catch(异常类型1 异常的变量名1){
     // 程序代码
}catch(异常类型2 异常的变量名2){
     // 程序代码
}catch(异常类型2 异常的变量名2){
     // 程序代码
}
有个点注意下:多重捕获是要么多个异常类型没有继承关系,如果有先捕获子类型,再捕获父类型。

3.带finally的异常处理

try{
     // 程序代码
}catch(异常类型1 异常的变量名1){
     // 程序代码
}catch(异常类型2 异常的变量名2){
     // 程序代码
}catch(异常类型2 异常的变量名2){
     // 程序代码
}fially{
    //一般是释放资源
}

4.访问异常信息

如果捕获到异常则在cath块中有几个常用的方法提供给我们:
    1.getMessage();返回异常的详细字符串;
    2.printStackTrace();将异常的跟踪栈信息输出到标准输出;
    3.printStackTrace(PrintStream S);将异常的跟踪栈信息输出到指定输出流中;
    4.printStackTrace(PrintStream S);返回该异常的跟踪栈信息。
try{
     // 程序代码
}catch(ExceptionName e1){
    //Catch 块
e1.printStackTrace();
}

5.throws throw关键字的使用

权限符 返回值 方法名() throws ExceptionName
{
     // Method implementation
     throw new ExceptionName ();
}
throws有几个点注意下:
     1只能在构造方法、方法中使用;
     2.谁调用谁处理;
     3.抛出的异常可能是多个,用,隔开。

6.自定义异常

所有异常都必须是 Throwable 的子类。
如果希望写一个检查性异常类,则需要继承 Exception 类。
如果你想写一个运行时异常类,那么需要继承 RuntimeException 类。

7.可能会遇到的面试总结

参考博客https://blog.youkuaiyun.com/android_seven/article/details/82499337

本文如果不正之处。欢迎大家批评指正。

Python爬虫实战:基于最新技术栈的晋江文学城小说爬取 本文将详细介绍如何使用Python最新技术栈构建一个高效的晋江文学城小说爬虫。我们将从爬虫基础知识讲起,逐步深入到反爬机制应对、分布式爬虫设计以及数据存储优化等高级话题。文章包含完整的代码实现,使用aiohttp+asyncio实现异步爬取,Playwright处理动态渲染,并结合Redis实现分布式任务队列。本文旨在为读者提供一个全面的现代Python爬虫开发指南。网络爬虫(Web Crawler)是一种自动抓取互联网信息的程序,广泛应用于搜索引擎、数据分析和内容聚合等领域。 阅读详情

相关推荐

Unity FPS射击控制系统:数据驱动的武器行为解耦方案

在Unity第一人称射击(FPS)开发中,射击系统常因输入、状态、行为耦合导致连发异常、换弹冲突与网络同步失准。其本质是缺乏对‘武器行为’(如后坐力曲线、弹药逻辑)与‘射击控制’(如输入合法性校验、冷却调度)的正交分离。本方案基于ScriptableObject实现WeaponData数据资产化,配合ShootingController状态机服务,达成输入解耦、运行时参数可调、协程受控、网络预测友好等工程目标。适用于中大型FPS项目架构升级与数据驱动转型,尤其解决Unity InputSystem与物理反馈

weixin_30536861的博客 610

lesson4:面向对象编程、三大特性、抽象类、接口、内部类、闭包的一些总结

一.如何理解面向对象和java的三大特性 面向对象是一种程序设计思想,计算机程序的设计实质上就是将现实中的一些事物的特征抽离出来描述成一些计算机事件的过程,这种抽象的过程中,我们把具体的事物封装成一个一个的整体进行描述,使被描述的对象具备一些系统性、整体性的的行为和特征,我们把这种设计思想称为面向对象。java是纯粹的面向对象编程,在java领域里,一切皆为对象。java有三大特性,封装、...

android_seven的博客 312

前端埋点的实践

1、前言 开始正文前先介绍一下埋点的概念~,(熟悉的朋友可以略过) 前端埋点: 是一种手段,它的目的是上报相关行为数据,相关人员以数据为依据来分析产品在用户端的使用情况,根据分析出来的结果辅助产品优化、迭代。 BI:商业智能,公司内部做数据分析相关的部门。 2、背景 在流量红利逐渐消失的现在,数据的采集、分析和精细化的运营显得更加重要,所以埋点的需求在互联网产品中是很常见的,目的上面也提到了。我们的追求就是又快又好的做好埋点工作,但是现实却不那么美好;目前我们团队在前端埋点方面存在一些痛点: 在构造埋点字段

Arui_0的博客 1772

设计模式之原型模式(深浅拷贝的差别和写法)

设计模式之原型模式,以及深浅拷贝的写法和差别

android_seven的博客 376

从零开始解析N-CMAPSS数据集:航空发动机健康管理的入门指南

本文详细解析了N-CMAPSS数据集在航空发动机健康管理中的应用,从数据集的构成、关键变量到实际数据分析方法,为初学者提供了全面的入门指南。通过Python代码示例,展示了如何加载、探索和建模这一复杂数据集,帮助读者掌握航空发动机性能预测的核心技术。

weixin_29063979的博客 322

Unity动画状态机实战:Trigger和Bool参数到底怎么选?附5个常见场景解析

本文深入解析Unity动画状态机中Trigger和Bool参数的核心差异与应用场景。通过对比两者在描述瞬时事件与持续状态上的本质区别,并结合角色移动、攻击连招、跳跃落地、受击死亡及环境交互等5个实战场景,提供了清晰的选择逻辑与避坑指南,帮助开发者构建更健壮、易维护的动画逻辑。

weixin_29009501的博客 120

Java常见异常类的继承关系

一 Java常见的异常类之间的继承关系 1 从图中可以看出,Java把所有非正常情况分成两种:异常(Exception)和错误(Error),它们都继承Throwable父类。 2 Err错误,一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,动态链接失败等,这种错误无法恢复或不可能捕获,将导致应用程序中断,通常应用程序无法处理这些错误,因此应用程序不应该使用catch块来捕获Error...

iteye_5722的博客 1098

字符串替换—牛客网(C++实现)

一.题目描述 请你实现一个简单的字符串替换函数。原串中需要替换的占位符为"%s",请按照参数列表的顺序一一替换占位符。若参数列表的字符数大于占位符个数。则将剩下的参数字符添加到字符串的结尾。 给定一个字符串A,同时给定它的长度n及参数字符数组arg,请返回替换后的字符串。保证参数个数大于等于占位符个数。保证原串由大小写英文字母组成,同时长度小于等于500。 测试样例: “A%sC%sE”,7,[‘...

qq_38358582的博客 1522

一张图让你明白java异常分类(异常继承关系、自定义异常的写法)

今天碰到一个同事,问我Throwable和Exception什么关系,我说你向上点一下源码,看一下继承关系就知道;最后我总结了一张异常的继承图:注释:Error和RuntimeException属于Unchecked Exception(非检查异常);          try catch语句捕获多个异常时,如有诸如上述的继承关系,子类异常在前,父类的在后捕获。         (1)Error:...

yutang1008的博客 1万+

用MCP扩展Cursor的5种神奇用法:从文件操作到网页抓取实战

本文深入探讨了如何利用MCP(Model Context Protocol)扩展Cursor AI编程助手,解锁五种高效实用场景。从文件系统操作、网页内容抓取,到数据库查询、Figma设计稿对接,乃至构建自定义MCP服务器,文章通过实战案例展示了如何将Cursor从代码编辑器升级为能理解并操作工作环境的智能助手,显著提升开发效率与自动化水平。

weixin_29231027的博客 315

中移物联ML307C模组OPENCPU开发环境搭建全攻略

本文详细介绍了中移物联ML307C模组OPENCPU开发环境搭建的全过程。从OPENCPU模式的核心优势解析,到SDK获取、Python与scons工具安装,再到解读SDK目录结构与实战编译命令,最后提供常见问题避坑指南,帮助开发者快速构建高效的物联网应用编译环境。

weixin_29168393的博客 742

Java面试题(13)Java的异常体系

方法中发生异常,会创建一个异常对象交给JVM处理,该异常对象包含异常名称,异常描述以及异常发生时应用程序的状态。创建异常对象并交给JVM的过程称为抛出异常。这会有一系列的方法调用,这系列方法调用的有序列表叫做调用栈 JVM会顺着调用栈去查找看是否有可以处理异常的代码,当JVM发现可以处理异常的代码时,会把发生的异常传递给它。如果JVM没有找到可以处理该异常的代码块,JVM就会将该异常转交给默认的异常处理器,默认处理器会打印出异常信息 1、异常的分类和继承关系 Throwable是J...

qq_40432425的博客 267

VS Code下载安装与使用教程

VSCode下载安装与使用教程

weixin_46713695的博客 4万+

Lesson16_异常

Lesson16_异常 异常是什么 程序运行过程中那些不正常的情况:比如,该输入整数,结果输入的不是整数。 比如,该解析的是yyyy年MM月dd日格式的日期字符串,结果传入的是“2018-11-29” 异常机制的本质 就是当程序出现错误,程序安全退出的机制。 会导致什么结果 整个程序直接结束。用户体验极差!!! 常见的异常有哪些 package com.lesson19.常见异常; import java.text.ParseException; import java.text.SimpleDateFo

weixin_44120423的博客 110

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Lesson 6 :练习二 异常处理

题目: 从命令行输入5个整数,放入一整型数组,然后打印输出。要求: 如果输入数据不为整数,要捕获输入不匹配异常,显示“请输入整数”;如果输入数据多余5个,捕获数组越界异常,显示“请输入5个整数”。 无论是否发生异常,都输出“感谢使用本程序!” 代码:package 异常2; import java.util.*; public class Test { public static vo

送你一两银子 431

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Lesson 6 异常处理2

课堂练习2: 从命令行输入5个整数,放入一整型数组,然后打印输出。要求: 如果输入数据不为整数,要捕获输入不匹配异常,显示“请输入整数”;如果输入数据多余5个,捕获数组越界异常,显示“请输入5个整数”。 无论是否发生异常,都输出“感谢使用本程序!” (1)代码 import java.util.*; public class ArraryException { public stat

sunnnnh的博客 424

java lesson20homework

1 package com.xt.lesson20; 2 /** 3 * 简易自动提款机 4 5 1. 创建用户类User(包含卡号、姓名、密码、余额等属性),用户开卡时录入的姓名和密码(自动分配一个卡号、初始金额设置为0)。 6 2. 使用ArrayList或LinkedList存储全部注册用户 7 形式如:ArrayList<Us...

deng0004的博客 212

Lesson4:JavaScript

详细介绍了JavaScript的基础语法,包含变量、数据类型、运算符、数组、函数和对象,对每一部分的语法知识都进行了详细的介绍,比在介绍的过程中与Java语言进行对比,加深对语法的认识。

weixin_44258092的博客 1073

lesson 1 - Java介绍

解释性语言就是编译后的代码不能直接被机器执行,需要加一个解释器来解释,例如java,php,javascript,python,c#,go等都是解释性语言;7.Java的核心机制:JVM(java virtual machine),即java虚拟机,内含指令集负责管理数据与内存,包含在JDK中。对于不同的操作系统有不同的虚拟机,它屏蔽了底层运行平台的差别,使得java具有跨平台性。先选择文本编辑器类,有利于深刻了解java技术,培养代码感,后使用IDEA和Eclipse,加快开发速度。

Codefengfeng的博客 293

lesson2

1.Java注释:  //  ;  /* ...*/  ;   /** ... */     JDK中提供了一个文档自动生成工具javadoc,在自定义类中public的成员前以/**...*/形式加入的注释内容均可被自动提取到生成的说明文档中。     用法:javadoc source.java     File->Export->Java->Javadoc 2.标识符:用作给变量、类

hxq_java的专栏 255

lesson5 高级类特性

1.static关键字      静态块比构造器先执行      静态方法只能访问静态的,非静态方法可以访问静态的和非静态的   2.单子(Sington)设计模式     在整个应用中,只有一个实例存在。    例:  public class Single             {                     private double r;

hxq_java的专栏 246

黑马程序员-lesson5

extends Thread:Thread类的start()启动一个新线程。创建一个Thread对象就创建了一个线程。例new Thread().start();//将启动Thread类中空的run方法。所以线程子类要覆盖掉run。run方法中的代码运行完成后线程结束。后台线程:

ccxztian的专栏 355

Java SE Lesson22_ClassLoader

[size=large][b][color=red] Java虚拟机与程序的生命周期 [/color][/b][/size] 在如下几种情况下,Java虚拟机将结束生命周期 –执行了System.exit()方法. exit():终止当前正在运行的 Java 虚拟机。 参数用作状态码;根据惯例,非0 的状态码表示异常终止 –程序正常执行结束(ma...

My Tear My Java 252

java无难事_Java无难事(笔记)-Lesson7-IO

该课内容: Java I/O操作,字节流InputStream和OutputStream,字符流Reader和Writer,Java I/O库的设计原则,字符集的编码,RandomAccessFile类,管道流,对象的序列化.—File类.一个File类的对象,表示了磁盘上的文件或目录.File类提供了与平台无关的方法来对磁盘上的文件或目录进行操作.EX. 文件操作packagetest;impo...

weixin_34889287的博客 448

圣思园——Java SE Lesson 15

1. 一个类若想被序列化,则需要实现 java.io.Serializable 接口,该接口中没有定义任何 方法,是一个标识性接口( Marker Interface ),当一个类实现了该接口,就表示这个 类的对象是可以序列化的。   2. 在序列化时, static 变量是无法序列化的;如果 A 包含了对 B 的引用,那么在序列化 A 的时候也会将 B 一并地序列化;如果此时 A 可

码农界的小学生 1209

lesson 1

guanyudatou的专栏 491

java xmpp实例_XMPP学习笔记-LESSON-003:XMPPServer.java之initialize​

上文讲到,ServerStarter通过java反射机制,实例化org.jivesoftware.openfire.XMPPServer,在xmppserver构造函数中,调用start方法,,开始了服务之旅.首先,我们来看看start方法中,XMPPServer,它都干了什么.由于篇幅有限,先从initialize部分开始。1,locateOpenfire,这个不稀奇,初始化一些数据和环境变量....

weixin_39971138的博客 232
上一篇: lesson4:面向对象编程、三大特性、抽象类、接口、内部类、闭包的一些总结
下一篇: lesson6:java泛型总结
android_seven
博客等级 码龄11年 8粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值