面向对象(包的定义及注意事项) A:定义包的格式 package 包名; 多级包用.分开即可 B:定义包的注意事项 A:package语句必须是程序的第一条可执行的代码 B:package语句在一个java HelloWorld.java b:通过java命令执行。 java 包名.HellWord 10.04_面向对象(不同包下类之间的访问) A:案例演示 不同包下类之间的访问 10.05_面向对象(import关键字的概述和使用) A:案例演示 为什么要有import 成员内部类被静态修饰后的访问方式是: 外部类名.内部类名 对象名 = new 外部类名.内部类名(); 10.11_面向对象(成员内部类的面试题) A:面试题 要求:使用已知的变量,在控制台输出30,20,10 class Outer { public int num = 10; class Inner { public int num = 20;
更多内容请关注微信公众号【Java技术江湖】 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM、SpringBoot、MySQL、分布式、中间件、集群、Linux、 中可以找到 https://github.com/h2pl/MyTech 喜欢的话麻烦点下星哈 文章首发于我的个人博客: https://h2pl.github.io/2018/04/27/javase10 thread "main" java.util.InputMismatchException // at java.util.Scanner.throwFor(Scanner.java:864) // at java.util.Scanner.next(Scanner.java:1485) // at java.util.Scanner.nextInt(Scanner.java:2117 1; i = i / 0; //当我注释掉这行代码并使用B方法抛出一个error时,运行结果如下 // 四月 27, 2018 10
这里创建了一个名为Spiciness的枚举类型,它具有5个具名值,由于枚举类型的实例是常量,因此按照命名惯例它们都用大写字母表示(如果在一个名字中有多个单词,用下划线将它们隔开)
这也是最简单最基础的一种结构。 ? 二、选择结构 还是以面试为例子,面试官会根据面试者的笔试成绩选择是否将他留下,这就涉及到选择结构了。 在Java代码中存在一种特殊的语句,叫做选择语句,对一些条件做出判断,从而选择对应的代码执行。这种由选择语句组成的代码结构就是选择结构。 选择语句有:if条件语句和switch条件语句。 在Java语言中,有一种特殊的语句叫做循环语句,可以实现代码的重复执行,这种由循环语句形成的结构就是循环结构。 1.for循环 例子:循环打印10遍“HelloWorld” ? ①为初始化语句(int i=0) ②为判断语句(i<10?),不满足则跳出循环 ③为循环体,满足判断条件就执行 ④为控制条件语句,循环后变量会变化 格式: 格式是灵活变通的,三种格式都可以使用 ?
Java Life · 与你同在 January 2019 “ 锲而舍之,朽木不折;锲而不舍,金石可镂 。 (8)Java中继承的注意事项(掌握) Java中继承的注意事项: ①Java中类只支持单继承,不支持多继承; 错误范例:class A extends B, C { } ②Java中类支持多层继承。 类名.java ②带包运行:java 包名+类名 (2)import(理解) 1)导包的意义 使用不同包下的类时,使用的时候要写类的全路径,写起来太麻烦了;为了简化带包的操作,Java就提供了导包的功能
Java基础-day10-基础题-继承&抽象类 什么是继承?继承有什么好处? 继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。 Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。 继承是在一些比较一般的类的基础上构造、建立和扩充新类的最有效的手段。 (2)继承简化了人们对事物的认识和描述,能清晰体现相关类间的层次结构关系。 (3)继承提供了软件复用功能。 Java出于安全性和可靠性的考虑,仅支持单重继承,而通过使用接口机制来实现多重继承。 子类可以访问父类的私有成员变量么? 这就是java中的多态啊。 方法重写的注意事项有哪些? 方法重写与方法重载不同,方法的重载是方法的参数个数或种类或顺序不同,方法名相同。
通过lambda实现多线程 3.1 什么是lambda 对于一次性的方法: 外部类-》静态内部类-》局部内部类-》匿名内部类-》lambda import java.lang.Thread; 线程通信(线程同步、并发协作) Java提供了以下方法:注意只能在同步方法或同步块中使用 方法名 作用 final void wait() 表示线程一直等待,直到其他线程通知;与sleep不同,wait Container container) { this.container = container; } public void run() { for (int i = 1; i <= 10 (Container container){ this.container = container; } public void run() { for (int i = 1; i <= 10 其他相关 8.1 定时任务 类实现: Java.util.Timer 类似闹钟,本身就是一个线程 Java.tuil.TimerTask 抽象类,实现了runnable,具备多线程能力 任务调度框架:
异常对象Java异常是一个描述在代码段中发生的异常(出错)情况的对象。当异常情况发生,一个代表该异常的对象被创建并且在导致该错误的方法中被引发。 Error和ExceptionError 表⽰系统级的错误, 是 java 运⾏环境内部错误或者硬件问题, 不能指望程序来处理这样的问题, 除了退出运⾏外别⽆选择, 它是 Java 虚拟机抛出的。 关键字Java异常处理通过5个关键字控制:try、catch、throw、throws和 finally。程序声明了你想要的异常监控包含在一个try块中。如果在try块中发生异常,它被抛出。 系统产生的异常被Java运行时系统自动引发。手动引发一个异常,用关键字throw。 任何被引发方法的异常都必须通过throws子句定义。 任何在方法返回前绝对被执行的代码被放置在finally块中。 finally { // block of code to be executed before try block ends }在Java中,凡是可能抛出异常的语句,都可以用 try … catch
接口继承 ---- 接口继承(inheritance)与类继承很类似,就是以被继承的interface为基础,增添新增的接口方法原型。 我们以Cup作为原interface: interface Cup { void addWater(int w); void drinkWater(int w); } 我们在继承Cup的基础上 interface的多重继承 ---- 在Java类的继承中,一个衍生类只能有一个基类。也就是说,一个类不能同时继承多于一个的类。 在Java中,interface可以同时继承多于一个interface,这叫做多重继承(multiple inheritance)。 抽象与具体 Java中提供了抽象类(abstract class)的语法,用于说明类及其方法的抽象性。
】的《夯实Java基础系列博文》其中一篇,本文部分内容来源于网络,为了把本文主题讲得清晰透彻,也整合了很多我认为不错的技术博客内容,引用其中了一些比较好的博客文章,如有侵权,请联系作者。 该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架。 at java.util.Scanner.next(Scanner.java:1485) // at java.util.Scanner.nextInt(Scanner.java:2117) // 1; i = i / 0; //当我注释掉这行代码并使用B方法抛出一个error时,运行结果如下 // 四月 27, 2018 10 我推荐大家读一下Java 7攻略,这样可以更深入的了解这2个非常有用的特性。 10) 你遇到过 OutOfMemoryError 错误嘛?你是怎么搞定的?
零基础学Java只要方法得当,依然有机会学习好Java编程。 初学Java就像交朋友从陌生到熟悉再到铁杆搭档一生相伴,随着学习的深入,你会发现学Java并不是想象的那样枯燥和困难,甚至还有一些美妙之感,这是在拥有强大的技术和出色的设计思想后才能体会的。 就Java语言而言,你应该对它的API有非常强的实战经验,例如java.lang. 在Java的学习阶段,专业的Java培训可以大大缩短学习时间,提高学习效率。Java初学者眼中不可逾越的困难,很可能是一个Java开发经验丰富的人几句话就能搞定的。 总之,Java是一门容易上手的编程语言,但想要融会贯通,除了掌握良好的学习方法之外,努力是必不可少的。学习java要对自己有充分的信心,调整学习方法和态度。开启学习Java的旅程。
先进行比较,然后根据比较结果来决定是否进行后面的操作,可以用于构建分布式锁机制(协调服务)
接口继承 接口继承(inheritance)与类继承很类似,就是以被继承的interface为基础,增添新增的接口方法原型。 我们以Cup作为原interface: interface Cup { void addWater(int w); void drinkWater(int w); } 我们在继承Cup的基础上 interface的多重继承 在Java类的继承中,一个衍生类只能有一个基类。也就是说,一个类不能同时继承多于一个的类。 在Java中,interface可以同时继承多于一个interface,这叫做多重继承(multiple inheritance)。 抽象与具体 Java中提供了抽象类(abstract class)的语法,用于说明类及其方法的抽象性。
发现这边的终端有输出 [root@h102 etc]# /opt/logstash/bin/logstash -f logstash-syslog.conf Settings: Default filter workers: 1 Logstash startup completed { "message" => "Dec 23 12:11:43 louis postfix/smtpd[31499]: connect from unknown[95.75.93.154]\
对于Java中的数组遍历,还有一种更简便的方法,类似于C#中的for each循环,Java也有同样的for each操作。 举个栗子: int[] a; int[] b = {3,4,5,6}; a = b; a[2] = 10; System.out.println(b[2]); 这里将输出10,也就是说b指向的数组的元素被改变了 来看一个栗子: package pers.frank.test; import java.util.Arrays; public class Test{ public static void 在前面的栗子里,我们经常看到Java应用程序里带有String[] args的main方法,这个参数表名,main方法接收一个字符串数组,也就是命令行参数。 [] numbers = new int[10]; for(int i=0;i<10;i++){ numbers[i] = (int)(Math.random()
也就是说下面的这个例子是不可以的: List<String>[] ls = new ArrayList<String>[10]; 而使用通配符创建泛型数组是可以的,如下面这个例子: List<? >[10]; 这样也是可以的: List<String>[] ls = new ArrayList[10]; 下面使用Sun的一篇文档的一个例子来说明这个问题: List<String>[] lsa = new List<String>[10]; // Not really allowed. >[10]; // OK, array of unbounded wildcard type. 泛型方法的例子请参阅Java集合类框架。
这里只是最基本的,使其可以运行并且能够访问的配置,详细的配置方法,放到以后再作讲解
服务是可以使用 HTTP API 进行动态修改 (HTTP API 可以用来进行动态的添加,删除,修改服务)
bs_is_seq_randIfthisoptionisset,fiowillusethenormalread,writeblocksizesettingsassequential,randominstead.AnyrandomreadorwritewillusetheWRITEblocksizesettings,andanysequentialreadorwritewillusetheREADblocksizesetting.zero_buffersIfthisoptionisgiven,fiowillinittheIObufferstoallzeroes.Thedefaultistofillthemwithrandomdata.refill_buffersIfthisoptionisgiven,fiowillrefilltheIObuffersoneverysubmit.Thedefaultistoonlyfillitatinittimeandreusethatdata.Onlymakessenseifzero_buffersisn't specified, naturally. If data verification is enabled, refill_buffers is also automatically enabled. scramble_buffers=bool If refill_buffers is too costly and the target is using data deduplication, then setting this option will slightly modify the IO buffer contents to defeat normal de-dupe attempts. This is not enough to defeat more clever block compression attempts, but it will stop naive dedupe of blocks. Default: true. buffer_compress_percentage=int If this is set, then fio will attempt to provide IO buffer content (on WRITEs) that compress to the specified level. Fio does this by providing a mix of random data and a fixed pattern. The fixed pattern is either zeroes, or the pattern specified by buffer_pattern. If the pattern option is used, it might skew the compression ratio slightly. Note that this is per block size unit, for file/disk wide compression level that matches this setting, you'llalsowanttosetrefill_buffers.buffer_compress_chunk=intSeebuffer_compress_percentage.Thissettingallowsfiotomanagehowbigtherangesofrandomdataandzeroeddatais.Withoutthisset,fiowillprovidebuffer_compress_percentageofblocksizerandomdata,followedbytheremainingzeroed.Withthissettosomechunksizesmallerthantheblocksize,fiocanalternaterandomandzeroeddatathroughouttheIObuffer.buffer_pattern=strIfset,fiowillfilltheiobufferswiththispattern.Ifnotset,thecontentsofiobuffersisdefinedbytheotheroptionsrelatedtobuffercontents.Thesettingcanbeanypatternofbytes,andcanbeprefixedwith0xforhexvalues.Itmayalsobeastring,wherethestringmustthenbewrappedwit
重置node [root@h102 rabbitmq]# rabbitmqctl reset Resetting node rabbit@h102 ... [root@h102 rabbitmq]# 让节点恢复到初始状态(原文是返回处女状态 ) This command resets the RabbitMQ node . Return a RabbitMQ node to its virgin state 必须先停掉RabbitMQ应用,才能成功执行,否则会报错 [root@h102 rabbitm