ObjectOutputStream和ObjectInputStream常用方法详解
准备工作
准备user类
一个可序列化的类对象必须实现Serializable接口或者Externalizable接口
区别在于
Serializable接口是一个标记接口,没有方法,不需要实现
Externalizable接口是一个必须实现的接口
这里我们选择实现Serializable接口
并且添加serialVersionUID,提高版本的兼容性
准备一个user类,信息如下
123456class user implements Serializable { private final static long serialVersionUID = 1L; String name; int age; char sex;}
准备user.txt文件
字符编码为UTF8
ObjectOutputStream
可以将对象序列化到一个文件中
构造方法
public ObjectOutputStream(OutputStream out) throws IOException
可以传入OuterPutStream类对象和子类对象完 ...
maven设置编译器版本
第一步:打开settings.xml
第二步:在settings.xml中添加如下代码
1234567891011121314<profiles> <profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> ...
Math类常用方法详解
总体方法一览
abs
返回绝对值
有如下几个重载形式:
public static int abs(int a)
public static long abs(long a)
public static float abs(float a)
public static double abs(double a)
12345678910111213// intSystem.out.println(Math.abs(-1));// longSystem.out.println(Math.abs(-4L));// floatSystem.out.println(Math.abs(-4.9F));// doubleSystem.out.println(Math.abs(-9.0));// 输出结果// 1// 4// 4.9// 9.0
pow
求幂函数
public static double pow(double a, double b)
返回值为ab
123// 求2的3次方System.out.println(Math.pow(2, 3));// 输出结果:8.0
ceil
...
Map接口方法详解
Map接口方法一览
以下方法均以Map接口实现类HashMap演示,因为这些方法对实现了Map接口的所有实体类都适用
1Map<String, String> map = new HashMap(10);
put
put 方法用于将(K,V)键值对放入Map集合中
返回旧值
首次插入时旧值为null,之后value存在就返回这个插入之前的value
12345678// 将一个K为name,V为ikun的键值对放入Map中// 这里放入前name对应的值为null,返回nullSystem.out.println(A.put("name", "ikun"));// 这里放入前name对应的值为ikun,返回ikunSystem.out.println(A.put("name", "ikun"));// 输出结果// null// ikun
get
取出K在Map集合中对应的V
1234// 取出K为name的V,并打印在终端上System.out.println("name: ...
List接口方法详解
总体方法一览
说明
由于List接口继承自Collection接口,因此部分方法已经在讲Collection接口方法时讲过了,这里只讲一下List接口特有的方法
请参考:Collection接口方法详解
以下方法均以ArrayList为例作演示,其他List接口实现类可以参考以下方法的用法
1List<Integer> arrayList = new ArrayList<>();
add
List接口在Collection接口的基础上重载了一个add方法
void add(int index , E element)
该方法可以在指定索引index位置插入元素element,其他元素则向后移动一位,下标索引从0开始
1234567891011// 定义一个arrayList,元素为[0, 1, 2]List<Integer> arrayList = new ArrayList<>();arrayList.add(0);arrayList.add(1);arrayList.add(2);// 在下标索引为1的后面插入元素6ar ...
java基础知识梳理(一):前置知识
java技术平台体系
javaME
Micro Edition 精简版的javase,目前已经不太流行
javaSE
Standard Edition 支持面向桌面级应用,提供了完整的java核心api
javaEE
Enterprise Edition 支持使用多层架构的企业级应用,并额外提供大量的企业级类库
java特点
java语言是面向对象的
java语言是健壮的,如java的强类型机制、异常处理机制、垃圾自动回收机制
java语言是跨平台的,.java编译成.class文件后可以通过虚拟机在不同平台运行
java语言是解释型的
jdk
jdk(java development kit,java开发工具包)
jdk = jre+java开发工具集(如java,javac,javap)
jd是提供给java开发人员使用的
jre
jre(java runtime environment,java运行环境)
jre = jvm + java核心类库
运行一个已经开发好的java程序,计算机只要安装jre即可
jvm
jvm是java虚拟机,屏蔽了 ...
java基础知识梳理(五):数组
基本介绍
数组可以存放多个同一类型的数据。数组也是一种数据类型,在java中是引用类型
数组定义方式
动态初始化
第一种
先声明数组类型,再分配内存空间
基本语法
12数据类型[] 数组名;数组名 = new 数据类型[数组大小];
如:
12double[] scores; // 声明一个double类型的一维数组scores = new double[10];// 给这个数组分配10个double大小空间
第二种
直接定义数组,在声明的同时分配内存空间
基本语法
1数据类型[] 数组名 = new 数据类型[数组大小];
如:
1double[] = new double[10]; // 定义了一个10个double大小的double数组
静态初始化
在定义数组的同时,指定数组的元素个数和各元素数值
基本语法
1数据类型[] 数组名 = {元素1,元素2,元素3,……,元素n};
如:
12// 定义一个数组大小为5,元素分别为1,2,3,4,5的数组int[] nums = {1, 2, 3, 4, 5};
细节
数组数 ...
java基础知识梳理(四):流程控制
基本介绍
在程序中,程序运行的流程控制决定程序如何执行
总体分类
顺序控制
分支控制
循环控制
顺序控制
概念
顺序控制是指从上到下逐行地执行,中间没有任何判断和跳转
细节
变量必须先定义再使用,即遵循顺序控制
java定义变量时采用合法的前向引用
1234567// 正确int num1 = 12;int num2 = num1 + 2;// 错误int num2 = num1 + 2; // 变量必须先定义后使用int num1 = 12;
分支控制
单分支if
123if (条件表达式) { 代码块; // 当条件表达式为true时执行代码块的内容}
双分支if-else
12345if (条件表达式) { 代码块1; // 当条件表达式为true时执行代码块1} else { 代码块2; // 当条件表达式为false时执行代码块2}
多分支else-if
12345678910if (条件表达式1) { 代码块1; // 当条件表达式1为true时执行代码块1& ...
设置远程连接redis
设置远程连接redis
修改配置文件
这里假设已经在服务器安装好了redis环境,但是我们现在还无法连接服务器上的redis,这时我们编辑redis.conf文件
1vim redis.conf
将下面这行注销即可
再次连接,可以看到连接成功
但是这时候,使用不了命令
提示如下:
123(error) DENIED Redis is running in protected mode because protected mode is enabled and no password is set for the default user. In this mode connections are only accepted from the loopback interface. If you want to connect from external computers to Redis you may adopt one of the following solutions: 1) Just disable protected mode sending the comm ...
windows安装redis
下载
进入github下载地址:Releases · tporadowski/redis · GitHub
点击下载
解压
解压后文件如下
添加环境变量
为了能够全局使用redis命令
我们添加环境变量
复制路径
添加环境变量
测试能否使用
打开我们的终端工具,我用的是powershell
1redis-server
正常运行,安装成功!