字符串类: String类、StringBuffer类和StringBuilder类 String类和StringBuffer类都在Java的lang包中,并被定义为最终(final) 类,不能再派生子类 String类 String类被Java的开发者构造得非常接近基本数据类型,换句话说,在很多时候可以象用基本数据类型一样来使用tring类 构造方法: String s; //声明了一一个空字符串sString 判断一一个字符串是否包含指定的字符子串或指定的字符 ●两个字符串对象恒等比较 ●两个字符串对象大小比较 ●字符串连结,字符替换和字符串大小写转换 ●字符串截取 ●把基本数据类型转换为字符串 ●把字符串转换为字节数组或字符数组 ●Java 中可以使用关系运算符“==”判定两个字符串是否相等 ●与equals(方法不同的是,“==”判定两字符串对象是否是同一实例,即它们在内存中的存储空间是否相同 1、Java中可以使用关系运算符“==”判定两个字符串是否相等 JAVA基础 | java基础6(IO) 2. JAVA基础 | java基础5(异常介绍) ?
2)八进制:0 - 7,满 8 进 1,以数字0开头。 3)十进制:0 - 9,满 10 进 1。 演示: 0237 => 0 3(011) 3(011) 7(111) => 0b11011111 // 八进制转二进制 0x23b => 0x 3(0011) 3(0011) b(1011) = 0b001100111011
当声明一个方法或变量为使用static关键字时,就意味这这个域或方法不会与包含它的那个类的任何对象实例关联在一起。所以,即使从未创建某个类的任何对象,也可以调用其static方法或访问其static域
java基础(7)-Java数据类型转换 1.数据类型转换 整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。 转换从低级到高级。 4.基本数据类型和包装类的转换 Java的包装类就是可以直接将简单类型的变量表示为一个类,Java共有8个包装类,分别是Boolean、Character、Byte、 Short、Integer、Long Java为每一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是Integer,从Java 5开始引入了自动装箱/拆箱机制,使得二者可以相互转换 原始类型 boolean
大数 如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中两个很有用的类:BigInteger和BigDecimal。这两个类可以处理包含任意长度数字序列的数值。 BigInteger.valueOf(2))); //d = c * (b + 2) 案例 假设你被邀请参加抽奖活动,并从500个可能的数值中抽取60个,下面程序会告诉你中彩的概率是多少 import java.math.BigInteger ; import java.util.Scanner; /** * @author JKC * @Description: * @date 2022/6/29 09:42 */ public divide(BigInteger.valueOf(i))); } System.out.printf("你的概率在%d分之一", lotteryOdds); } } java.math.BigInteger 如果这个大整数与另一个大整数other相等,返回0;如果这个大整数小于另一个大整数other,返回负数;否则,返回正数 static BigInteger ValueOf(long x) 返回值等于x的大整数 java.math.BigDecimal
具体代码在我的GitHub中可以找到 https://github.com/h2pl/MyTech 文章首发于我的个人博客: https://h2pl.github.io/2018/04/24/javase7 class A{ } Java包的命名规则 以 java.* 开头的是Java的核心包,所有程序都会使用这些包中的类; 以 javax. 例如: import java.util.Date; // 导入 java.util 包下的 Date 类 import java.util.Scanner; // 导入 java.util 包下的 Java 编译器默认为所有的 Java 程序导入了 JDK 的 java.lang 包中所有的类(import java.lang.*;),其中定义了一些常用类,如 System、String、Object 中的类; //import可以导入基础包以及公开的类,需要使用类名的全路径 //并且在导入某个包.
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架。 集合框架概述 Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。 Java集合工具包位置是java.util.* Java集合主要可以划分为4个部分:List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections ) Java集合工具包框架图(如下): ? 7、Iterator简介 Iterator的定义如下: public interface Iterator<E> {} Iterator是一个接口,它是集合的迭代器。
如果没有定义构造方法,Java编译器会自动生成一个构造方法: 类名() { },即什么都不做的空语句。 实验代码 实验6_1 //filename: Student.java class Student { int age; String name; public Student( name +" " +s2.age); System.out.println(s3.name +" " +s3.age); } } 实验6_2 //filename: Myplus.java
// 构造器初始化 class Counter{ int i; Counter(){ i = 7; } } i 首先会被置为0,然后变成7;对于所有基本类型和对象引用 因此,当首次创建类型为Dog的对象时(构造器可以看成静态方法),或者Dog类的静态/静态域首次被访问时,Java解释器必须查找类路径,以定位Dog.class文件 2)然后载入Dog.class,有关静态初始化的所有动作都会执行 这将自动地将Dog对象中的所有基本类型都设置为默认值(对数字来说就是0,对布尔型和字符型也相同),而引用则被设置为null 5)执行所有出现于字段定义处的初始化动作 6)执行构造器 显示的静态初始化 Java i = 47; } } 与其他静态初始化动作一样,这段代码仅执行一次:当首次生成这个类的一个对象时,或者首次访问属于那个类的静态数据成员时(即使从未发生过那个类的对象) 非静态实例初始化 Java
面向对象编程 Java是一种面向对象的编程语言。 人们通过抽象处理复杂性; 类是Java的核心和本质。它是Java语言的基础,因为类定义了对象的本性; 类就是对象的模板(template),而对象就是类的一个实例(instance)。 在Java中,所有的类对象都必须动态分配。 如果一个类没有显式的定义它自己的构造函数,那么Java将自动地提供一个默认的构造函数。 构造函数的任务就是初始化一个对象的内部状态,以便使创建的实例变量能够完全初始化,可以被对象马上使用。 除了不能使用java的保留字; parameter-list (变量列表)是一系列类型和标识符对,用逗号分开,也叫形参。接收方法被调用时传递给方法的参数值(实参)。变量列表可以为空。
本篇主要介绍Java的输入与输出,当然,这里说的是控制台下的输入与输出,窗口程序的设计将会再后续篇章中有详细说明。 Java的输出很简单,调用System.out.println()即可打印输出你想要输出的内容。我们之前也已经看到过。 另外,还有一个很常用的方法,那就是printf(),学过C或者C++的话,对这个printf()应该很熟悉,没错 ,在Java里几乎是一模一样的。可以用来格式化输出内容。 package pers.frank.test; import java.util.Date; public class Test{ public static void main(String Java里的输入也不难,但是比输出要稍微麻烦一点,需要先构造一个Scanner对象,然后关联System.in、看代码: package pers.frank.test; import java.util.Scanner
; -- end job file -- Here we have no global section, as we only have one job defined anyway. We want to use async io here, with a depth of4foreach file. We also increased the buffer size used to32KB and define numjobs to4to fork 4 identical jobs. The result is4 processes each randomly writing to their own 64MB file. Instead ofusing the above job file, you could have given the parameters on the command line. For this case, you would specify: $ fio --name=random-writers --ioengine=libaio --iodepth=4 --rw=randwrite --bs=32k --direct=0 --size=64m --numjobs=4When fio is utilized as a basis ofany reasonably large test suite, it might be desirable toshare a setof standardized settings across multiple job files. Instead of copy/pasting such settings, anysection may pull in an external .fio file with'includefilename' directive, asin the following example: ;-- start job file including.fio -- [global] filename=/tmp/test filesize=1m include glob-include.fio [test] rw=randread bs=4k time_based=1 runtime=10 include test-include.fio ; -- end job file including.fio -- ; -- start job file glob-include.fio -- thread=1 group_reporting=1 ; -- end job file glob-include.fio -- ; -- start job file test-include.fio -- ioengine=libaio iodepth=4 ; -- end job file test-include.fio -- Settings pulled into a section apply to that section only (except global section). Include directives may be nested in that any included file may contain further include directive(s). Include files may not contain [] sections. 4.1 Environment variables ------------------------- fio also supports environment variable expansion in job files. Any sub-string of the form "${VARNAME}" as part of an option value (in other words, on the right of the `='),willbeexpandedtothevalueoftheenvironmentvariablecalledVARNAME.Ifnosuchenvironmentvariableisdefined,orVARNAMEistheemptystring,theemptystringwillbesubstituted.Asanexample,let's look at a sample fio invocation and job file: $ SIZE=64m NUMJOBS=4 fio jobfile.fio ; -- start job file -- [random-writers] rw=randwr
127.0.0.1:2379 > Accept: */* > < HTTP/1.1 200 OK < Content-Type: application/json < X-Etcd-Cluster-Id: 7e27652122e8b2ae
一、基础创建方式1.1 new关键字(最常用)// 标准对象实例化Person person = new Person();特点:直接调用类的构造方法需要明确的类定义编译时类型检查1.2 反射机制// Computer(this); } }}// 使用示例Computer pc = new Computer.Builder() .cpu("i7" theUnsafe.get(null);Person person = (Person) unsafe.allocateInstance(Person.class);注意:完全跳过构造方法执行可能导致对象状态不一致需要Java
drwx------ 2 root root 61 Mar 21 22:57 doc drwx------ 2 root root 6 Mar 21 22:57 logs drwx------ 7
# systemctl get-default graphical.target [root@docker ~]# runlevel N 5 [root@docker ~]# Tip: Centos7
为了避免只能使用sudo来调用Docker,在软件安装过程中自动创建了docker组,并且在docker进程启动时赋权给了这个组的用户以docker socket的读写权限,所以只用将管理用户加入到docker组,就可以对docker进行使用了
完全删除某空间下的文件 [root@h101 copy]# ../qshell_linux_amd64 listbucket qiniucloud-goods list.video [root@h101 copy]# ../qshell_linux_amd64 batchdelete qiniucloud-goods list.video <DANGER> Input hdbiha to confirm operation: hdbiha All deleted! [root@h101
也可以定向的只dump一个表,但这个操作没法在shell中完成,只能在sqlite中完成
logstash的配置中加入了 stdout {codec=>rubydebug} 是为了方便在终端监视信息(在实际应用中完全没有必要),经过一番刷屏,最终停了下来