自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 资源 (2)
  • 收藏
  • 关注

原创 AOSP13 lunch函数的注释级解析

lunch操作是在编译Android之前必须执行的一个操作,它实际上是调用了/build/envsetup.sh脚本中的lunch()函数。下面就对该lunch()函数进行一些说明。

2023-04-09 21:39:55 520

原创 Android Framework谷歌应用翻译问题

需求是要翻译Android System Intelligence这个字符串,发现有两个name,一个叫app_name,一个叫asi_settings_activity_title,不想区别,就一起翻译了吧。下载apktool,改名为apktool.jar,复制出AndroidSystemIntelligence_Features_arm64.apk,将两个文件放置同一目录中,建议不要带中文路径。打开values下的string.xml文件,找到需要翻译的字符串。

2023-03-15 10:34:59 693

原创 基于VMware虚拟机的Hadoop完全分布式集群搭建

1.Linux安装配置1.1创建模板虚拟机网络类型选择【NAT模式】可选用最小化安装1.2网络配置虚拟机网络配置vi /etc/sysconfig/network-scripts/ifcfg-ens33操作如下几行即可:BOOTPROTO=dhcp改为BOOTPROTO=staticONBOOT=no改为ONBOOT=yes添加4行IPADDR=192.168.150.200与物理机VMnet8虚拟网卡在同一网段NETMASK=255.255.255.0

2022-04-11 09:56:36 1717

原创 Hadoop单机伪分布式安装

1.Linux安装配置1.1创建虚拟机网络选择【桥接模式】可选用最小化安装1.2虚拟机网络配置vi /etc/sysconfig/network-scripts/ifcfg-ens33操作如下几行即可:BOOTPROTO=dhcp改为BOOTPROTO=staticONBOOT=no改为ONBOOT=yes添加4行IPADDR=192.168.1.200与物理机在同一网段NETMASK=255.255.255.0与物理机子网掩码相同GATEWAY=192

2022-04-07 22:41:15 2088 1

原创 Linux系统代理

Linux系统代理1、编辑文件/etc/profile,增加如下两行export http_proxy=http://ip:portexport https_proxy=http://ip:port2、执行source /etc/profile,然后登出再登入生效

2021-10-06 19:17:57 134

原创 ERROR: Cannot find the strip binary required for object file stripping

Manjaro安装搜狗输入法时,运行·yay -S fcitx-sogoupinyin·时出现错误ERROR: Cannot find the strip binary required for object file stripping解决办法:sudo pacman -Sy base-devel

2021-10-06 16:40:08 547

原创 多线程 Thread Runnable Callable Future

并发:指令在多个CPU上同时执行。并行:指令在单个CPU上交替执行。多线程的实现方案继承Thread类1.定义Thread类的继承类MyThread2.在MyThread类中重写run()方法3.创建MyThread类的对象4.启动线程 myThread.start()实现Runnable接口1.定义Runnable接口的实现类MyRunnable类2.在MyRunnable类中重写run()方法3.创建MyRunnable类的对象4. 创建Thread类的对象,把MyRu

2021-10-02 10:38:43 94

原创 字符流

字符流字节流在操作中文时(每次只能操作一部分字节),可能出现乱码,这时就需要使用字符流。GBK : 一个字符两个字节Unicode,UTF-8:一个中文三个字节字符串中的编码解码问题编码byte[] getBytes():使用平台默认字符集将String编码为一系列字节,将结果存储到新的字节数组中。byte[] getBytes(String charsetName):是用指定字符集将String编码为一些列字节,将结果存储到新的字节数组中。解码String(byte[] bytes):

2021-09-30 10:09:52 70

原创 IO流

IO流IO流的分类按流向分:输入流输出流按数据类型分:字节流:操作所有类型的文件字符流:只能操作纯文本文件字节流1.创建字节输出对象FileOutputStream fos = new FileOutputStream(String pathname);如果文件不存在,则创建如果文件存在,则把文件情况2.写数据fos.write(int a);写入的是a对应的字符3.释放资源fos.close();字节流写数据的3种方式void write(int b):一次写一个

2021-09-28 10:29:04 60

原创 File类

File类File表示要读写的文件在哪里,也可以对文件进行创建,删除等操作。它是文件和目录路径名的抽象表示文件和目录可以通过File封装成对象File封装的对象仅仅是一个路径名。它可以是存在的,也可以是不存在的。构造方法File(String pathname):通过将给定的路径名字符串转换为抽象路径名来创建新的File实例File(String parent, String child):从父路径名字符串和子路径字符串创建新的File实例File(File parent, String

2021-09-27 08:47:58 78

原创 Stream流

Stream流Stream流的三类方法获取Stream流:创建Stream中间方法:Stream的一次操作终结方法:一个Stream流只能有一个终结方法Stream流的获取方法单列集合可以使用Collection接口中的默认方法stream()生成流default Stream<E> stream()双列集合间接生成流可以先通过keySet或者entrySet获取一个Set集合,再获取Stream流集合对象.keySet().stream();集合对象.entry

2021-09-26 12:12:20 118

原创 LinkedList

LinkedListLinkedList常用方法public void addFirst(E e):在该列表开头插入指定的元素public void addLast(E e):将指定的元素追加到此列表的末尾public E getFirst():返回此列表中的第一个元素public E getLast():返回此列表中的最好一个元素public E removeFirst():删除并返回第一个元素public E removeLast():删除并返回最好一个元素LinkedList底层Li

2021-09-21 10:13:45 83

原创 增强for循环

增强for循环增强for:since JDK5,内部原理是一个Iterator迭代器实现Iterator接口的类才可以使用迭代器和增强for

2021-09-20 17:46:55 39

原创 Collection类

Collection类Collection集合常用方法:boolean add(E e)boolean remove(Object o)boolean removeif(Object o)void clear()boolean contains(Object o)boolean isEmpty()int size()Collection集合的遍历Iterator:迭代器,集合的专用遍历方式Iterator<E> iterator() 返回集合中的迭代器对象,该迭代器对象默认

2021-09-20 17:44:22 49

原创 集合的体系结构

集合的体系结构数组:数组的长度是不可变的可以存储基本数据类型,也可以存储引用数据类型集合:集合的长度是可变的只能存引用数据类型集合类体系结构集合:单列集合(Collection):可重复(List):ArrayListLinkedList不可重复(Set)HashSetTreeSet双列集合(Map)HashMapTreeMap...

2021-09-20 17:27:29 87

原创 异常

异常:就是程序出现了不正常的情况,这种不正常情况会导致JVM的非正常停止。(语法错误不是异常)异常分类ThrowableError:严重问题,无法通过代码处理Exception:异常类,程序本身可以处理的问题RuntimeException及其子类:(非受检异常)编译成class文件时必须处理的异常其他异常:(受检异常)编译时不需要处理,在运行字节码文件时可能出现的异常虚拟机默认处理异常的方式当代码出现了异常,那么就在这里创建一个异常对象,如果程序没有自己处理异常的代码,就讲交给本方法

2021-09-19 09:55:54 67

原创 SimpleDateFormat类

SimpleDateFormat类SimpleDateFormat可以对Date对象进行格式化和解析。构造方法public SimpleDateFormat():构造一个,使用默认格式public SimpleDateFormat(String pattern):构造一个,只有指定的格式。成员方法public final String format(Date date):将日期格式化成日期/时间字符串public Date parse(String source):从给定字符串的开始解析文本以

2021-09-16 18:30:27 51

原创 Date类

Date类构造方法public Date():创建一个Date对象,表示默认时间(计算机当前时间)public Date(long date):创建一个Date对象,表示指定时间。(从时间原点起算, 要考虑时差)

2021-09-16 17:22:54 55

原创 Arrays类

Arrays类成员方法public static String toString(int[] a):返回指定数组内容的字符串表示形式。public static void sort(int[] a):安装数字顺序排列指定的数组。public static int binarySearch(int[] a, int key):利用二分查找返回指定元素的索引。...

2021-09-16 14:37:41 39

原创 Integer类

Integer类包装了一个int基本数据类型的类常用方法public Integer(int value):根据int值创建Integer对象public Integer(String s):根据String值创建Integer对象public static Integer valueOf(int i):返回表示指定的int值的Integer实例public static Integer valueOf(String s):返回一个保存指定String值的Integer对象自动装箱和自动拆箱

2021-09-16 14:25:06 212

原创 BigDecimal类

BigDecimal类作用:可以用来精确计算。构造方法BigDecimal(double val):将 double转换为 BigDecimalBigDecimal(String val):将 字符串表示 BigDecimal转换为 BigDecimal常用方法public BigDecimal add (BigDecimal augend)public BigDecimal subtract (BigDecimal subtrahend)public BigDecimal multiply

2021-09-16 12:30:19 45

原创 Objects类常用方法

Objects类常用方法public static String toString(Object o):返回参数中对象的字符串表示形式。public static String toString(Object o, String nullDefault):返回参数中对象的字符串表示形式,如果为null,则返回nullDefault字符串。public static Boolean isNull(Object obj):判断对象是否为空。public static Boolean nonNull(Ob

2021-09-16 11:21:02 81

原创 Object类

Object类特点:Object类是所以类的直接或简直父类直接打印一个对象就是打印这个对象的toString()方法的返回值(对象的地址值)要打印内容,需要重写toString()方法Object类常用方法:public String toString():返回对象的字符串表示形式。public boolean equals(Object obj) :比较对象是否相等.(重写该方法实现比较内容)注意:String类重写了Object类中的equals()方法,StringBuilder类

2021-09-16 11:01:47 37

原创 System类常用方法

System类常用方法public static void exit(int status):终止当前运行的Java虚拟机,非零表示异常终止public static long currentTimeMillis():返回当前时间(以毫秒为单位)arraycopy(Object src, int srcPos, Object dest, int destPos, int length):从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束...

2021-09-16 10:46:48 57

原创 Math类常用方法

Math类常用方法public static int abs(int a):返回参数的绝对值public static double ceil(double a):向上取整public static double floor(double a):向下取整public static int round(float a):四舍五入public static int max(int a, int b):返回最大值public static int min(int a, int b):返回最小值pub

2021-09-16 10:41:00 98

原创 Lambda表达式

Lambda表达式Lambda表达式的标准格式格式:( 形式参数 ) -> { 代码块 }形式参数:如果有多个参数,参数之间用逗号隔开;没有参数,留空即可->:固定写法代码块:方法体内容Lambda表达式的使用前提有一个接口接口中有且仅有一个抽象方法Lambda表达式的省略模式参数类型可以省略,但是有多个参数的情况下,不能只省略一个如果参数有且仅有一个,可以省略小括号如果代码块的语句只有一条,可以省略大括号和分号,甚至是return关键字。...

2021-09-16 09:08:09 39

原创 内部类

内部类在一个类中定义一个类。内部类的访问特点:内部类可以直接方位外部类成员,包括私有外部类要访问内部类的成员,必须创建对象外部类名.内部类名 对象名 = new 外部类对象().new 内部类对象();成员内部类私有成员内部类:不能在外部创建内部类对象静态成员内部类:创建对象格式发生变化,外部类名.内部类名 对象名 = new 外部类对象.内部类对象();局部内部类局部内部类是在方法中定义的类。外界无法直接使用,需要在方法内部创建对象并使用。该类可以直接访问外部类成员,也

2021-09-15 23:19:48 49

原创 多态

多态同一个对象,在不同时刻表现出不同形态。多态的前提要有继承或实现关系要有方法重写要有父类引用指向子类对象多态中成员访问特点构造函数:同继承一样,子类会通过super访问父类构造方法。成员变量:编译看左边(父类),执行看左边(父类)。成员方法:编译看左边(父类),执行看右边(子类)。为什么成员变量和成员方法访问不一样?因为成员方法有重写,而成员变量没有多态中的转型向上转型:子转父,父类引用指向子类对象向下转型:父转子,父类引用转为子类对象instanceof关键字使

2021-09-15 09:48:40 48

原创 接口

接口当一个类中所有方法都是抽象方法时,就可以将其定义为接口。接口是一种引用数据类型。接口存在的两个重要意义规则的定义程序的扩展接口的定义和特点接口使用interface关键字来定义public interface inter {...}接口不能实例化接口和类之间是实现关系,通过implements关键字表示,可以但实现,也可以多实现public class InterImpl inter {...}接口的实现类,要么重写接口中全部的抽象方法,要么自己也是抽象类。

2021-09-14 11:11:32 57

原创 代码块

代码块局部代码块位置:方法中定义。作用:限定变量的生命周期,可以及早释放,提高内存利用率。public static void main(String[] args) { { int a = 100; System.out.println(a); } //System.out.println(a); 报错}构造代码块位置:类中方法外定义。特点:每次构造方法执行时,都会执行构造代码块中的代码,并且在构造方法执行前执行。作用:可以将多

2021-09-13 22:59:02 55

原创 final关键字

final关键字final关键字可以修饰方法、变量、类final修饰的特点:修饰方法:表明该方法时最终方法,不能被重写修饰变量:表明该变量是自定义常量,不能再次被赋值。修饰类:表明该类是最终类,不能被继承final修饰的注意事项:final修饰基本数据类型变量:其值不能被更改;修饰引用数据类型变量:地址值不能被更改,但是可以修改对象的属性值。final修饰成员变量存在初始化时机问题:final修饰的成员变量要么在创建的时候直接给值;要么在构造方法结束之前完成赋值。...

2021-09-13 22:39:06 38

原创 抽象类

抽象类抽象方法: 将共性的的方法抽取到父类后,发现该方法的实现逻辑无法在父类中给出具体明确,该方法就可以定义为抽象方法。抽象类:如果一个类中存在抽象方法,那么该类就必须声明为抽象类。抽象类注意事项抽象类不能创建对象抽象类不一定有抽象方法,但有抽象方法的类必须是抽象类抽象类中存在构造方法抽象类的子类:要么重写父类所有的抽象方法,要么把自己也变成一个抽象类...

2021-09-13 21:55:25 45

原创 开闭原则

开闭原则在面向对象编程领域中,开闭原则 (The Open/Closed Principle, OCP) 规定“软件中的对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的”,这意味着一个实体是允许在不改变它的源代码的前提下变更它的行为。该特性在产品化的环境中是特别有价值的,在这种环境中,改变源代码需要代码审查,单元测试以及诸如此类的用以确保产品使用品质的过程。遵循这种原则的代码在扩展时并不发生改变,因此无需上述的过程。开闭原则的命名被应用在两种方式上。这两种方式都使用了继承来解决明显的

2021-09-13 21:00:31 73

原创 子类继承父类private成员

子类继承父类private成员子类继承父类时,父类中的private修饰的成员也能被继承,但是不能直接使用。

2021-09-13 20:39:01 957

原创 继承中构造方法的访问特点

继承中构造方法的访问特点子类在初始化之前,一定要先访问父类的构造方法,完成父类数据的初始化系统在每一个构造方法(无论空参还是有参)中,如果不显式地写出,则默认隐藏一句代码super();如果父类空参构造方法不存在,则子类的构造方法应该手动写上super(…)的代参构造,或者子类的空参构造里面调用this(…)的子类代参构造。this()和super()都必须放在构造方法第一行,所以二者不能共存。...

2021-09-13 20:33:35 51

原创 方法重写的注意事项

方法重写的注意事项父类中的私有方法不能重写父类静态方法,子类必须通过静态方法重写(实际上,这不是方法重写) ;父类非静态方法,子类也必须通过非静态方法重写子类重写父类方法时,访问权限必须大于等于父类...

2021-09-13 15:05:36 102

原创 方法重载和方法重写的区别

方法重载和方法重写的区别**方法重载:**在同一个类中,方法名相同,参数列表不同,与返回值无关**方法重写:**在继承体系中,子类出现了和父类一模一样的方法声明(方法名、参数列表、返回值类型都相同)...

2021-09-13 14:47:15 45

原创 static关键字

static 关键字static的特性被static修饰的成员,会被该类的所有对象所共享 (也是我们判断是否使用static修饰的条件)被static修饰的成员,会随着类的加载而加载,优先于对象存在 (字节码文件进入内存时,就已经存在了)多了一种调用方式,可以通过*类名.*进行调用static的注意事项静态方法中,只能访问静态成员(成员变量、成员方法 )非静态方法中,可以使用静态成员,也可以使用非静态成员静态方法中,没有this关键字...

2021-09-11 17:04:21 41

原创 package语句

package语句package语句必须是程序的第一条可执行语句。(注释不是可执行语句)package语句在java文件中只能有一个如果一个java文件隶属于某个包,则必须带有package语句;否则,没有package语句,表示无包名...

2021-09-11 10:17:28 1419

原创 大O记法(Big O notation)

大O记法(Big O notation)运算性质

2021-09-09 11:25:49 424

实验一mybatis开发环境搭建.doc

学校《Web技术》上机课时的实验作业

2021-10-08

COLLEGE ADMISSIONS AND THE STABILITY OF MARRIAGE.pdf

稳定匹配

2021-09-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除