首页 文章 精选 留言 我的

精选列表

搜索[java],共10000篇文章
优秀的个人博客,低调大师

Java 异常处理 之 捕获处理流程

http://www.verejava.com/?id=16992991138281 package com.exception2; /** 注意: 1. 当异常发生的时候,程序会终止,其后面的代码不会执行. 2. 异常分为编译时异常和运行期异常 编译期异常必须用 try{}catch{}捕获,运行期异常可以不捕获 编译期异常从 Exception 继承, 运行期异常从RuntimeException 继承 异常的处理流程 注意: 1. try{}catch{} 代码块里的局部变量, 不能在其外访问. 所以如果要访问 最好在try catch 代码块外定义,然后再使用. 2. 异常执行流程 当异常发生时,首先系统产生一个异常实例, 如果没有try catch 代码块报异常终止执行, 如果遇到try catch 代码块, 系统会把异常实例跟 catch() 里面的异常对象依次从上往下进行匹配,如果匹配成功进入 catch{} 代码块. 否则 报异常终止执行. 3. Exception 是异常的根类, 根据多态原则,所以所有的异常实例都可以转为Exception 这样通过 Exception 就可以捕获到所有出现的异常. 4. finally{ }代码块的内容不管是否有异常 都会执行。 用来释放资源,比如 关闭文件,关闭数据库连接等。 5. finally{} 代码块的语句, 是在return 之前运行的. */ public class TestException { public static void main(String[] args) { int[] scores = { 60, 70, 80 }; try { System.out.println(scores[3]); System.out.println(3 / 0); } catch (ArrayIndexOutOfBoundsException e) { System.out.println("数组越界异常"); } catch (ArithmeticException e) { System.out.println("数学异常"); } catch (Exception e) { System.out.println("发生了异常"); } } } http://www.verejava.com/?id=16992991138281

优秀的个人博客,低调大师

Java 面向对象 之 匿名内部类

http://www.verejava.com/?id=16992872428362 /** 知识点: 匿名内部类 题目: 摩托车上装有警报器,当有人碰到摩托车时, 警报器发出报警响声 思路: 1. 抽象出类: 1.1 摩托车(Moto),报警器(Alarm), 人(Person) 2. 找出类的关系: 2.1 摩托车上装有报警器 Alarm -> Moto(1对1) 2.2 警报器有不同品牌的分类 Alarm 3. 找出类属性: 3.1 Moto(品牌,报警器的引用) 3.2 Alarm(品牌) 3.3 Person(姓名) 4. 找出类方法: 4.1 摩托车上装有报警器 Moto{load(Alarm alarm)} 4.2 人碰到摩托车 Person{touch(Moto moto)} 4.3 警报器发出响声 Alarm{beep()} */ public class TestMoto { public static void main(String[] args) { //准备生产一台南方摩托车 Moto moto = new Moto("南方"); //摩托车上预装一台 小功率的 报警器 moto.load(new SmallAlarm()); //这个时候李明过来了 Person p = new Person("李明"); //李明不小心碰到了摩托车, 摩托车发出了报警声 p.touch(moto); } } interface Alarm { //报警器能发出报警声 public void beep(); } class SmallAlarm implements Alarm { //报警器发出响声 public void beep() { System.out.println("有人碰到我了,可能偷摩托"); } } class Moto { private String brand;//品牌 private Alarm alarm;//报警器引用 public Moto(String brand) { this.brand = brand; } public Alarm getAlarm() { return this.alarm; } //装载警报器 public void load(Alarm alarm) { this.alarm = alarm; } } class Person { private String name;//姓名 public Person(String name) { this.name = name; } //人触碰到摩托车, 同时摩托车上的报警器发出响声 public void touch(Moto moto) { moto.getAlarm().beep(); } } http://www.verejava.com/?id=16992872428362

优秀的个人博客,低调大师

Java 面向对象 之 静态内部类

http://www.verejava.com/?id=16992860269360 /** 知识点: 内部类 1. 内部类的定义 2. 内部类的优缺点 3. 外部类怎么实例化其他类的内部类 4. 方法中定义内部类 如果在方法中定义内部类,方法中的内部类要访问变量, 需要加final 关键字 5. static 声明内部类 题目:母亲怀了孕, 母亲的营养决定孩子的健康成长 思路: 1. 抽象出类 : 母亲(Mother), 孩子(Baby) 2. 找出类的关系: 孩子在母亲里面 Baby in Mother 3. 抽象出方法: 母亲吃东西 (eat) */ public class InnerClass3 { public static void main(String[] args) { //实例化母亲 Mother mother = new Mother("lucy"); //母亲吃苹果 mother.eat("苹果"); //孩子吸收营养 //Mother.Baby baby=new Mother.Baby(); //baby.eat(); Mother.Baby.eat(); } } class Mother { private String name; private static String food;//母亲吃的食物 public Mother(String name) { this.name = name; } public String getName() { return this.name; } public void setName(String name) { this.name = name; } //母亲吃东西 public void eat(String food) { this.food = food; System.out.println(this.name + " 吃了 " + this.food); } static class Baby { //孩子从母亲吃的东西中吸收营养 public static void eat() { System.out.println("孩子从母亲吃的 " + food + " 中吸收营养"); } } } http://www.verejava.com/?id=16992860269360

优秀的个人博客,低调大师

(三)Java工程化--Git起步

GIT学习参考:https://git-scm.com/book/zh/v2 版本控制 版本控制记录了一个或若干文件的历史变化,便于今后查阅,恢复。 三类版本控制系统 本地版本控制系统 RCS : 本地存储文件变更系统,无法协作及对权限做统一管理 集中化版本控制系统 CVCS : 变更存储于集中的一台服务器 分布式版本控制系统 DVCS : 分布式存储版本库镜像, 包含文件历史变更的所有信息 Git的历史 git来自于linux团队, 是linux为了解决之前版本管理工具Bitkeeper收费的问题研发出来的。 设计目标 速度 简单 对非线性开发模式的强力支持(多个并行开发的分支) 完全分布式 适用超大规模项目 linux是开源的, 所以当他们之前使用的版本工具开始收费的适合,他们决定自己研发一个版本控制工具,即Git. 说起开源, 我们需要了解下常见的开源协议,以便我们做技术选型时考虑.例如一般的开源协议都要求使用开源框架的项目也要开源. Git与SVN(或者说其他版本控制系统)的区别 直接记录快照,而非差异比较 了解此项差异的底层实现方式非常重要,有利于我们更准确的理解和学习Git.具体可以参考文章开始的网站资料.(有图有真相) 近乎所有操作都在本地执行(得益于第一点的底层实现,即分布式存储) Git使用sha1哈希算法算出的校验和保证完整性 Git的索引是校验值而不是文件名,如果在传送过程中有信息丢失和损坏,Git就能发现. Git一般只添加数据 (只要提交便不会丢失数据,可以执行可逆操作) 使用前的配置 git config --list 显示所有配置 git config --global user.name 'user' 设置用户名 git config --global user.email 'user@xxx.com' 设置用户邮箱 ssh-keygen -t rsa -C 'user@xxx.com' 生成ssh密钥 多用户配置方法: 在.ssh路径下(C:\Users\xueli.ssh)创建文件config, 添加下面内容 # Default github user(usergithub@mail.com) Host github.com HostName github.com User git IdentityFile C:\Users\xueli.ssh\id_rsa # Default mygitlib user(second@mail.com) Host mygitlib.com HostName mygitlib.com User git IdentityFile C:\Users\xueli.ssh\mygitlib 上面是Git起步和背景知识, 下次将学习Git常用命令.

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

用户登录
用户注册