![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
帅气的刘某人
这个作者很懒,什么都没留下…
展开
-
http请求header传中文怎么处理
解决思路:首先:header里传不了中文,传输以后会报错。先将该中文进行一个编码处理,放到header的参数里,最后在代码里进行 该参数的解码。1:对header的传参进行加码String ss = URLEncoder.encode("传输中文", "UTF-8");2:将加码的参数当成请求的header请求后台3:后台对该参数进行解码 String en = request.getHeader("en"); return URLDecoder.decode(en,原创 2022-04-24 11:54:15 · 11164 阅读 · 0 评论 -
3个业务组装成一个数据
原创 2021-05-10 19:16:59 · 144 阅读 · 0 评论 -
HashMap源码分析
HashMap底层是数组+链表组成(1.7之前)。原理:当我们往HashMap存放值的时候,需要先计算键的Hash值,然后再使用哈希值%数组的长度,这样就在数组的length中进行存放,但是当key足够多的时候,很有可能一个数组的索引下会有多个值进行存放,这时候就需要链表来存储不同的值。每次存在头节点。put源码:...原创 2020-02-15 15:16:52 · 83 阅读 · 0 评论 -
接口的几个问题详解
1)一个类,首先需要在内存中有一个类对象,然后类对象生成类的对象2)接口中为什么是常量呢?因为类在被实例化之后,会初始化变量的值,比如String 为null ,int是0。但是接口不能被实例化,不能实例化就不能赋初始值,这样代码编译的时候就会出现问题。所以是常量。3)为什么常量会被final和static修饰呢?首先是final:2中讲述了接口不能被实例化,所以需要赋予值,如果接...转载 2019-07-11 21:13:56 · 295 阅读 · 0 评论 -
Java基础(线程问题)
**1. 线程和进程分别是什么?一个任务就是一个程序,每个运行的程序就是一个进程,当一个程序运行,内部包含了多个执行顺序,这个顺序流就是线程。****2. 线程创建的三种方式****2.1基础Thread类,来创建线程**package practice1;public class ThreadCreat extends Thread { public void ...原创 2019-07-23 22:08:24 · 85 阅读 · 0 评论 -
Java学习十六天(集合概述,ArrayList底层,LinkedList底层,List扩展方法,泛型)
集合存储的是元素的地址。package com.bjsxt.collection;import com.bjsxt.demo.Gender;import com.bjsxt.demo.Person;import java.util.ArrayList;import java.util.Collection;import java.util.Date;import java.uti...原创 2019-07-17 08:26:52 · 118 阅读 · 0 评论 -
java学习第十八天 上午(Lock锁)
首先使用Synchronized同步代码块可以实现生产者和消费者之间每一次的完整步骤,就好比银行家算法中的取钱步骤,如果没有synchronized同步代码块,可能会出现取钱1次对总共的金额减少,但是还没有来的及打印出来剩余金额,第二个线程中第二个用户对同一个账户再次进行取款,取款结束未进行打印时线程二暂停,开始执行线程一的打印,会导致数据发生错乱。为了解决这个问题,我们可以在synchron...原创 2019-07-25 14:01:10 · 91 阅读 · 0 评论 -
Set集合查漏补缺
Set集合类:似于一个罐子,Set集合通常不能记住元素的添加顺序,并且Set不允许包含重复元素,如果使用add方法对set集合进行添加重复元素,返回值为false,添加失败。 HashSet类:HashSet是Set接口的典型实现,它具有以下特点。1)不能保证元素排列顺序,顺序可能与添加顺序不同,顺序可能会发生变化。2)HashSet是不能够同步的,如果多个线程同时访问Has...原创 2019-07-27 16:15:05 · 94 阅读 · 0 评论 -
File操作类(File类、遍历盘符所有文件)
File类:File类是在程序中操作文件和目录,File类不能访问文件内容本身,如果需要访问文件内容本身,则需要使用输入输出流访问文件名的相关方法: 1:String getName()---》》访问文件名或者路径名 2:String getPath()----》》返回file对象对应的路径名 3:File getAbsolutePath()---》返回Fi...原创 2019-07-28 13:05:25 · 530 阅读 · 0 评论 -
IO流的详解!超详细!
IO流Java的IO通过java.io包下的类和接口来支持,在java.io包下主要包括输入、输出两种IO流,每种输入、输出流又可以分为字节流和字符流两大类。其中字节流是以字节为单位来处理输入输出的操作,而字符流则是以字符来处理输入输出的操作。除此之外,JavaIO使用了一种装饰器设计模式,又可以将IO流分为底层的节点流和上层的处理流。流的分类:1:输入流和输出流 ...原创 2019-07-28 17:31:51 · 348 阅读 · 0 评论 -
请你再一次把我的头打烂(Java并发)
并行和并发的区别:并行:同时处理(一边看电视一边吃饭)并发:多个任务只能处理一个(先煮面、再放料包、再吃饭、洗碗)一个线程 和 多线程程序:一个程序同时可以执行多个任务,通常一个任务成为一个线程,可以运行一个以上线程的程序叫做多线程程序。多线程与多进程的区别在哪里呢?每一个进程拥有自己一整套变量线程之间共享数据,共享变量可以使线程之间的通信比进程之间更加的...原创 2019-08-18 17:41:12 · 87 阅读 · 0 评论 -
手写WEB服务器的步骤(可以简单的了解到服务器的原理)
耐心到最后!定有收获!创建server类,(main)工作流程:这个类启动Serversocket 服务器,网页点击登录,(server类)创建Request对象(使用输入流对网页的内容进行分解,获取到url,name的值,输入的密码的值,知道了是get请求还是post请求)(request类)创建Respons对象(传入了流,然后构造回馈网页的头文件)(resp...原创 2019-08-11 21:59:15 · 424 阅读 · 0 评论 -
Java通过方法对任意引用类型进行排序
写一个方法对任意引用数据类型数组进行排序。具体要求如下: 方法声明为public void sortArr(Object arr[]){ } 方法中首先输出排序前数组内容,然后进行排序,最后输出排序后数组内容。 可以是冒泡排序或其他算法实现,不直接调用Java提供的方法实现排序。 思路:任意类实现Comparable接口来实现该引用数据类型的元素排序,在sort()方法中将Obj...转载 2019-07-11 20:16:31 · 1086 阅读 · 0 评论 -
Java学习第十五天(StringBuffer和StringBuilder类,Date类,Calendar日历类,Math类,枚举,文件类)
StringBuffer和StringBuilder是可变的字符序列,为什么要引入这两个类呢? 因为String不允许修改对象的值,一经修改便会开辟新的空间,多次下来容易造成空间的大量使用,但是StringBuffer和StringBuilder两个类可以不开辟空间,在原有的地址进行修改其值。StringBuffer 和StringBuilder两个类有什么不同?StringBuf...原创 2019-07-16 08:32:51 · 187 阅读 · 0 评论 -
Java学习十七天(集合关系)
Collection是一个接口,里面有两个子接口:List和Set。Collection这个接口是无序的,不唯一的。 ①:list的特点有序不唯一。list有两个实现类:ArrayList,LinkedList。 ① ArrayList是有序,不唯一的,它和LinkedList的区别是,ArrayList原理实际就是一个数组,对集合内的元素,访问比较快速,但是对元素进行修...原创 2019-07-18 08:57:14 · 85 阅读 · 0 评论 -
Java学习第九天(一维数组练习,二维数组,main方法中String[]args详解,可变参数,Arrays工具类的使用)
一维数组的练习:import java.util.*;public class TestSys{ public static void main(String[]args){ int[]arr=new int[5]; while(true){ System.out.println("-----------欢迎来到数字管理系统-----"); System.out.pr...原创 2019-07-02 21:34:05 · 241 阅读 · 0 评论 -
Java学习第四天(数据类型、运算符、类型转换、流程控制)6-27
【1】Java是一种强类型的语言:是因为常量需要有数据类型的,并且变量也必须声明它的数据类型。【2】变量的类型数据类型分为两部分:基本数据类型、引用数据类型基本数据类型分为:数值型,字符型,布尔型,数值型又细分为2种:整数和浮点数一共是四大类八小种,除了基本数据类型剩下的就都是引用数据类型。整数类型:分为二进制、八进制、十进制、十六进制。其他进制往十进制...原创 2019-06-27 21:05:26 · 130 阅读 · 0 评论 -
(Java学习十三天)内部类的知识点
什么是内部类:内部类就是定义在一个类内部的类,我们分为四种:成员内部类,静态内部类,方法内部类,匿名内部类为什么用内部类?内部类的好处是:每个内部类都可以独立的继承或者访问接口,与外部类完全不管成员内部类:package lei;//成员内部类public class ChengYuan { public class InnerChengYuan{ ...原创 2019-07-12 22:17:51 · 78 阅读 · 0 评论 -
Java学习第5天(switch,while,do..while,for,breal,continue,return)
switch:switch后面跟的是一个等值,而不是一个区间,等值是:byte,short,char,int,String,枚举类型的值()里的等值会依次与case后面的数值进行比较,如果满足就执行case后续的代码,直到遇到break结束switch里有一个兜底的功能,和else一样 它是default,就是不满足其他的情况就执行dafaultdefault放在最后一行可以不用加...原创 2019-06-28 20:36:08 · 218 阅读 · 0 评论 -
Java学习第11天(包,面向对象的特征,继承,方法重写等知识点)
包:类过多,用包来进行分类管理。为什么需要使用包?(1)分门别类的进行管理。(2)提升程序的安全性能。java中声明包:package testextends2; 使用package进行声明声明包是确定class的位置,而不是.java源文件的位置!声明包的要求:(1)包名小写(2)使用域名倒置(3)声明包的时候必须只能声明一次面向对象...原创 2019-07-09 21:05:11 · 166 阅读 · 0 评论 -
Java学习十四天(包装类 Integer类型 一些常用方法)
包装类:引用包装类的原因“1)因为Java是面向对象编程的,但是基本数据类型没有对象,为了完善面向对象的编程,所以给基本类型添加了包装类。2)Java中的集合,只允许存储引用数据类型。除了Integer类型和Character类型之外,其他的都和基本类型一样,但是首字母大写包装类体系结构图:学习Integer类:查阅API:它的属性有:pack...原创 2019-07-13 22:11:27 · 521 阅读 · 0 评论 -
Java学习第十四天(String类的详解和功能使用)
String类:String在java.lang包下中,Java使用String创建一个字符串变量,字符串变量相当于对象,String类创建对象便不允许更改,这是我们会产生疑问,我们每次给String 变量赋值不就更改了吗,String不允许修改值,但是可以修改变量的指向,每次对String变量的值进行修改,都会产生一个新的对象,变量也随之指向这个对象。说明 :a)String类不允许...原创 2019-07-14 15:59:35 · 247 阅读 · 0 评论 -
java学习第六天(双重循环,打印图形,三重循环,方法的定义和调用)
双重循环:public class TestFor01{ public static void main(String[]args){ /* 乘法口诀: 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20...原创 2019-06-29 21:57:17 · 410 阅读 · 0 评论 -
Java(第七天复习 Java基础)
java特点:简单、面向对象、分布式、解释执行、鲁棒、安全、体系结构中立、可移植、高性能、多线程以及动态性。java跨平台的特点:我们理解的跨平台是编译后的文件:java便是一次编译到处执行。java中还有一个垃圾处理机制处理的目的便是将不再使用的对象进行去除,在对象建立初期的时候监控对象的使用情况。,当对象不使用的时候便去除对象的内存。JDK是java运行...原创 2019-06-30 11:41:34 · 149 阅读 · 0 评论 -
java学习第七天(编写代码的细节)
public class HelloWorld{ public static void main(String[]args){ System.out.println("HelloWorld"); }}类名要和源文件的名字一样需要成对编程,并且代码中的符号都需要是英文的main方法的固定格式public static void main(String[]args)...原创 2019-06-30 13:56:36 · 79 阅读 · 0 评论 -
Java学习第十二天(Object类,初识多态,类型转换,final关键字的使用,interface的关键字)
Object类是万物的父类,Object是所有类的直接类或者间接的父类。一个类如果没有父类,那么他就继承了Object的类public class Person extends Object {}或者public class Person {}Object类是使用方法1)equals()方法:equals方法查看源代码,发现equals是比较两个对象的内存地址是否相等...原创 2019-07-10 22:16:11 · 138 阅读 · 0 评论 -
java学习第八天(数组,以及数组的引用)
数组:数组就是同一种类型的集合,并且有固定的长度,是一组连续的空间。声明数组的三种方法: int[]a=new int[3];//开辟一组内存大小为3的数组 int[]b={1,2,3}; int[]c; c=new int[]{1,2,3}; /* 数组中默认数值: 基本数...原创 2019-07-01 21:57:26 · 150 阅读 · 0 评论