首页 文章 精选 留言 我的

精选列表

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

Java 面向对象 之 匿名内部类 实例 2

http://www.verejava.com/?id=16992879139164 /** 知识点: 匿名内部类 题目: 摩托车上装有警报器,当有人碰到摩托车时, 警报器发出报警响声 思路: 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 摩托车被人碰到 Moto{touched(Person p)} 4.3 警报器发出响声 Alarm{beep()} */ public class TestMoto3 { public static void main(String[] args) { //准备生产一台南方摩托车 Moto moto = new Moto("南方"); moto.load(new Alarm() { public void beep(Person p) { System.out.println(p.getName() + " 碰到了警报器 "); } }); //这个时候李明过来了 Person p = new Person("李明"); //李明不小心碰到了摩托车, 摩托车发出了报警声 moto.touched(p); } } abstract class Alarm { //报警器能发出报警声 public abstract void beep(Person p); } class Moto { private String brand;//品牌 private Alarm alarm;//报警器引用 public Moto(String brand) { this.brand = brand; } //装载警报器 public void load(Alarm alarm) { this.alarm = alarm; } //摩托车被人碰到 public void touched(Person p) { alarm.beep(p); } } class Person { private String name;//姓名 public Person(String name) { this.name = name; } public String getName() { return this.name; } } http://www.verejava.com/?id=16992879139164

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

Java 面向对象 之 基本数据 包装类

http://www.verejava.com/?id=16992869307361 /** 知识点: 基本数据类型 对应的 包装类 1. 基本数据类型包括: 1. 数值类型 1.1 byte -> Byte 1.2 short -> Short 1.3 int -> Integer 1.4 long -> Long 1.5 float -> Float 1.6 double -> Double 2. 字符型 2.1 char -> Character 3. 布尔型 3.1 boolean -> Boolean 2. 包装类的应用 2.1 使基本数据类型也可以有引用类型 2.2 实现数据类型的转换功能 注意: 1. 在jdk 1.5 之后 基本数据类型和包装类型是可以相互赋值 */ public class WrapClass { public static void main(String[] args) { Byte a=1; byte b=10; a=b; System.out.println(a.byteValue()); System.out.println(Integer.valueOf(b)); //包装类的应用 主要是 数据类型的转换 //整型转 double 型 int c=100; Integer d=new Integer(c); System.out.println(d.doubleValue()); //整型转 long 型 System.out.println(d.longValue()); //整型转 字符串 String str=Integer.toString(d); System.out.println(str); //字符串转 整型 int e=Integer.parseInt(str); System.out.println(e); System.out.println(Integer.toBinaryString(e)); System.out.println(Integer.signum(e)); System.out.println(Integer.bitCount(e)); System.out.println(Integer.highestOneBit(e)); System.out.println(Integer.numberOfLeadingZeros(e)); } } http://www.verejava.com/?id=16992869307361

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

使用Java类加载SpringBoot、SpringCloud配置文件

版权声明:本文为博主原创文章,未经博主允许不得转载。博客源地址为zhixiang.org.cn https://blog.csdn.net/myFirstCN/article/details/81750872 我们都知道平常在使用SpringBoot和SpringCloud的时候,如果需要加载一两个配置文件的话我们通常使用@Value("${属性名称}")注解去加载。但是如果配置文件属性特别多的时候使用这种方式就显得特别的不友好了。 比如说,我们要加载下方这个名为application.yml的配置文件。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 kafka: brokerAddress: 110.35.113.62:9092,123.27.143.72:9095,180.17.133.52:9096 smsTopic: testTopic smsCosumeGroup: testTopicGroup timerTaskTopic: timerTopic timerTaskGroup: timerGroup jvmNumbers: 3 security: authentication: jwt: secret: 0550224055e1848081dba46d8ad325f503fa141b tokenValidityInSeconds: 86400 此时我们有两种方式来简化这个加载方式 1 这种方式呢,是同过层层嵌套的方式一层一层的按照配置文件属性的方式来进行注入的。大家只要把这个类跟上方提供的配置文件进行对比就会明白它的方式了。(注意,下方的所有属性因为篇幅问题没有增加get、set方法,实际使用过程中请自行添加) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 @ConfigurationProperties(prefix = "application", ignoreUnknownFields = false) public class ApplicationProperties1 { private final Security security = new Security(); private final Kafka kafka = new Kafka(); public static class Kafka { private String brokerAddress; private String smsTopic; private String smsCosumeGroup; private String timerTaskTopic; private String timerTaskGroup; private String jvmNumbers; } public static class Security { private final Authentication authentication = new Authentication(); public static class Authentication { private final Jwt jwt = new Jwt(); public static class Jwt { private String secret; private long tokenValidityInSeconds; } } } } 2 这种方式就是以指定的配置前缀为依据去取配置(同上没有写get、set方法) 例如:kafka的配置可以这样来 1 2 3 4 5 6 7 8 9 10 11 12 @Configuration @ConfigurationProperties(prefix = "kafka",ignoreUnknownFields = false) @PropertySource(value = { "classpath:application.yml" },ignoreResourceNotFound=false) public class ApplicationProperties { private String brokerAddress; private String smsTopic; private String smsCosumeGroup; private String timerTaskTopic; private String timerTaskGroup; private String jvmNumbers; } 而Security的配置这样来 1 2 3 4 5 6 7 8 9 @Configuration @ConfigurationProperties(prefix = "security.authentication.jwt",ignoreUnknownFields = false) @PropertySource(value = { "classpath:application.yml" },ignoreResourceNotFound=false) public class ApplicationProperties { private String secret; private long tokenValidityInSeconds; } 补充 大家可能会注意到我上方的几个类中都没有写get和set方法,因为那个东西其实所占的篇幅实在是太长了。那么,有什么办法可以补救么,其实是有办法的,一个注解就可以全搞定哟。 什么?你不信,不信来看看呀:IDEA中使用lombok插件 结语 怎么样,学会这个以后Leader还会担心你的代码臃肿么。 本文出自http://zhixiang.org.cn,转载请保留。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

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

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应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册