Java基础学习
文章平均质量分 84
Java基础知识
无极的移动代码
好好学习 好好工作 好好生活
展开
-
HTTP请求中Ajax 请求头中常见content-type和其作用(Ajax发送请求的请求体数据的编码格式)
在了解content-type之前首先要了解http的协议规范,content-type属于请求头中一、HTTP规范HTTP 协议规范把 HTTP 请求分为三个部分:状态行、请求头、消息主体。协议规定 POST 提交的数据必须放在消息主体(entity-body)中,但协议并没有规定数据必须使用什么编码方式。实际上,开发者完全可以自己决定消息主体的格式,只要最后发送的 HTTP 请求满足上面的格式就可以。但是,数据发送出去,还要服务端解析成功才有意义。一般服务端语言如Java 等,以都内置了自动解原创 2020-07-27 10:48:17 · 1999 阅读 · 0 评论 -
Java向上转型
一、普通类示例父类package 普通类向上转型; public class Father { public int age = 48; public void sayAge() { System.out.println("我的年龄是:"+age); } public void myDaughter() { System.out.println("我女儿18岁"); }}子类:package 普通类向上转型; public class Daughter extends原创 2022-03-01 20:08:19 · 685 阅读 · 0 评论 -
Java多线程方法状态和创建(基础)
Java之线程的五大状态及其常用方法(六个状态还有timed_wating超时等待)1.线程的五大状态及其转换线程的五大状态分别为:创建状态(New)、就绪状态(Runnable)、运行状态(Running)、阻塞状态(Blocked)、死亡状态(Dead)。下面画出线程五大状态之间的关系图:(1)新建状态:即单纯地创建一个线程,创建线程有三种方式,在我的博客:线程的创建,可以自行查看!(2)就绪状态:在创建了线程之后,调用Thread类的start()方法来启动一个线程,即表示线程进入就绪状态原创 2021-09-02 21:22:00 · 229 阅读 · 0 评论 -
Java题目知识点小记
1、finally return 执行顺序. finally一定会在return之前执行,但是如果finally使用了return或者throw语句,将会使trycatch中的return或者throw失效2、引用和equlas比较未重写则比较引用public class Square { long width; public Square(long l) { width = l; } public static void main原创 2021-08-31 00:15:46 · 122 阅读 · 0 评论 -
JavaSE回顾总结
一、Java语言初识DOS命令,计算机术语,是指DOS操作系统的命令,是一种面向磁盘的操作命令,主要包括目录操作类命令、磁盘操作类命令、文件操作类命令和其它命令。大家常用的操作系统有windows10,windows 7等,都是图形化的界面。在有这些系统之前的人们使用的操作系统是DOS系统。二、HelloWorld2.1、javac命令和java命令javac编译成class文件java执行那个class文件不用带后缀名2.2、编译型解释型语言编译型:程序先编译后再运行解释型:像pa原创 2021-08-29 22:17:21 · 163 阅读 · 0 评论 -
Java开发中常用注解
springboot中的常用注解@Mapper和@Repository的区别@Mapper和@Repository是常用的两个注解,两者都是用在dao上,两者功能差不多,容易混淆,有必要清楚其细微区别;区别:@Mapper:是mybatis-plus注解@Repository:是spring注解@Mapper= @Repository + @MapperScan(basePackages = "{}")@Repository需要在Spring中配置扫描地址,然后生成Dao层的Bean才能被注原创 2020-07-15 00:58:47 · 590 阅读 · 0 评论 -
JVM入门
一、JVM探究请你谈谈你对JVM的理解?java8虚拟机和之前的变化更新?么是OOM,什么是栈溢出StackOverFlowError?怎么分析?JVM的常用调优参数有哪些?内存快照如何抓取,怎么分析Dump文件?知道吗?谈谈JVM中,类加载器你的认识?(根加载器rt.jar,扩展加载器ext,application系统加载器)学习建议从:1、百度2、思维导图1. JVM的位置JVM是运行在操作系统上面的,Java程序就是运行在JVM上,虚拟机之外的软件是跟JVM并列的,操作系统原创 2020-05-08 19:37:07 · 421 阅读 · 0 评论 -
开发中遇到的异常整理
一、NoSuchFieldException找不到属性异常反射的时候用getField去获取private修饰的属性的时候找不到报出来的异常,原因因为getField只能找到public的属性。二、IllegalAccessException非法存取异常Declared(第可兰德)因为类是私有的用getDeclaredField可以获取,但是在修改的时候因为Java语言安全检测判定pri...原创 2020-04-28 05:20:56 · 513 阅读 · 0 评论 -
注解和反射
一、注解:1.1、什么是注解注释(Comment):给人看的注解(Annotation安娜忒瞬):给程序解释JDK5.0开始引入的技术作用:不是程序本身,可以堆程序作出解释可以被其他程序(比如:编译器)读取。格式:@注释名,还可以添加一些参数值1.2、内置注解@Override //重写超类另一个方法的声明@Deprecated //表示不推荐使用,通常是它很危险或者...原创 2020-04-27 00:08:22 · 294 阅读 · 0 评论 -
网络编程(TCP、UDP)
一、概述地球村:也译为世界村(global village),对地球的一种比喻说法。现代科技的迅速发展,缩小了地球上的时空距离,国际交往日益频繁便利,因而整个地球就如同是茫茫宇宙中的一个小村落。Java万物皆对象,肯定是有对应的类,我们连接这些类就行了计算机网络:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备(物联网、AI等),通过通信线路连接起来(有线和无线wifi...原创 2020-04-26 19:52:14 · 240 阅读 · 0 评论 -
Java学习基础巩固一
一、Java语言的运行机制Java是编译型语言也是解释型语言Java运行过程是:源文件(.java文件)经过Java编译器编译成字节码文件(.class文件)运行的时候就会走到jvm虚拟机,他会把字节码文件这个类放到类装载器里面,这时候就会把类加载到jvm里面了加载进来之后就会有个字节码校验器(这个就是看你代码写的对不对,不对就会告诉你出问题了)代码没问题就会通过一个解释器解释给操作...原创 2020-04-24 21:51:31 · 163 阅读 · 0 评论 -
JUC并发编程总结
JUC并发编程一(什么是JUC、线程和进程、Lock锁、生产者消费者问题、8锁现象、集合类不安全)1、什么是juc闭着眼睛都会说了2、线程的基本知识3、传统的synchronized锁和lock锁的区别4、生产者消费者问题,传统的不能精确判断,如果多个线程是不能用if得改成whilejuc版本的有新版的一套方案,Condition然后用awiat和signal5、8锁现象彻底理解了什么...原创 2020-04-23 03:12:02 · 464 阅读 · 0 评论 -
JUC并发编程四(深入理解CAS、原子引用、各种锁的理解)
十九、深入理解CAS大厂你必须要深入研究底层!有所突破!修行内功,操作系统,计算机网络原理我们现在要学的是Java层面的CAS不是底层。什么是CAS之前有在juc的原子包中的AtomicInteger底层是用的CASCAS 是CPU的并发原语!就是CPU的指令package com.kuang.cas;import java.util.concurrent.atomic.Ato...原创 2020-04-23 02:43:05 · 213 阅读 · 0 评论 -
JUC并发编程三(stream流式计算、ForkJoin、异步回调、JMM、Volatile、单例模式)
十三、Stream流式计算 (必修掌握)什么是Stream流式计算?大数据:存储 + 计算存储:集合、MySQL 本质就是存储东西的;计算:都应该交给流来操作!常用方法:可以看出参数类型是我们刚刚学过的断点型函数式接口,只有参数返回值类型为boolean等等,大多数的都是函数式接口,所以一定要先学会函数式接口再来学stream流解析:u就是个形式参数,是从stream里...原创 2020-04-22 23:45:52 · 528 阅读 · 2 评论 -
JUC并发编程二(Callable、JUC常用工具类、读写锁、阻塞队列、线程池、函数式接口)
7、Callable(简单)1、可以有返回值 2、可以抛出异常3、方法不同,run()/ call()代码测试callable通过runnable去使用Thread,然后我们就要找Runnable和Callable有什么关系??底层:泛型的参数及方法的返回值// new Thread(new Runnable()).start();// new Thread(new ...原创 2020-04-21 16:25:11 · 298 阅读 · 0 评论 -
JUC并发编程一(什么是JUC、线程和进程、Lock锁、生产者消费者问题、8锁现象、集合类不安全)
从b站狂神说Java处学习。内容如下:1、什么是juc(java.util.concurrent)并发编写学习从:源码+官方文档原因:看源码thread的start方法调用了一个start0方法native表示本地方法,底层C++,Java无法直接c操作硬件private native void start0();public synchronized void star...原创 2020-04-20 14:56:36 · 304 阅读 · 0 评论 -
Java多线程学习二(同步、死锁、lock锁、线程通讯生产消费者、线程池)
并发概念:同一个对象被多个线程同时操作线程同步线程同步sync形成条件(实现原理):队列和锁三大不安全案例:案例1:不安全买票输出:案例2:不安全的取钱sleep可以放大问题的发生性不加延时可能不会出现问题,因为一开始第一个线程执行完了之后再执行第二个线程的话,第二个线程就拿到变化之后的资源进行判断了,加延时的话他们都拿到了未变化的资源。案例3:线程不安全的...原创 2020-04-14 18:36:43 · 288 阅读 · 0 评论 -
Java多线程学习一(线程基础概念和线程状态和常用方法,静态代理模式,守护线程,Lamda表达式)
进程和线程程序:静态概念进程:程序的一次运行过程,动态概念,是系统资源分配的单位线程:通常一个进程有一个或多个线程,是CPU调用和执行单位。总结:注意,线程开始不一定立即执行,由CPU调度多线程网图下载先导入依赖包,Commons IO输出:推荐使用runnaable接口实现多线程原因:避免oop单继承的局限性,接口可以继承多个接口,灵活方便,方便同一个对象被多个线程使...原创 2020-04-13 21:36:53 · 204 阅读 · 0 评论 -
EJB3分布式架构
学习视频来源:王勇老师分布式技术EJB3先介绍几种处理方案双机热备架构不需要过多的干预,买硬件服务器就行了也叫主备方案磁盘阵列也是一个硬件主服务器坏了宕机了还能切换掉备份服务器,可以完成7*24小时不宕机(长时间不宕机)缺点:1、主服务器没了会话就断了,想要保证不断的话可以把session持久化到数据库上2、第二条因为没有时间负载均衡,因为所有的请求就压在一台服务器上了,如果实...原创 2020-03-12 01:21:54 · 1624 阅读 · 0 评论 -
Java集合框架(JCF Java collections framework)
Java Collection框架中包含了大量集合接口以及这些接口的实现类和操作他们的方法。包括:集合(Collection)列表(List)ArrayList 有序 可排序 可重复 ,可以for循环遍历 线程不安全 底层是数组 查询快增删慢LinkedListVectorStack队列(Queue)ArrayBlockingQueueLinkedBlo...原创 2020-03-01 17:41:37 · 624 阅读 · 0 评论 -
Java平台与内存管理
为什么说Java是平台独立性语言Java的跨平台是指.class字节码文件跨平台class:经过javac编译器编译成二进制的.class字节码文件.class文件运行在jvm上,Java解释器(jvm的一部分)会将其解释成对应平台的机器码执行解释执行过程:代码的装入代码的校验代码的执行装入代码由“类装载器”完成。被装入代码由字节码校验器进行检查机器码与字节码区别...原创 2020-02-09 11:56:24 · 219 阅读 · 0 评论 -
Java IO流
一、Java IO流的实现机制流的作用和本质:数据传输缓冲流的作用:由原来的一个一个字节读取,变成放到缓冲流(可配置字节数)进行批量操作,这样和底层的硬盘操作频率变少,效率提高。”从应用的角度,任何减少磁盘活动的策略都有帮助,例如使用带缓存的输入、输出流以减少读、写操作次数用以减少磁盘交互。用缓冲区的速度是不用缓冲区的几十倍使用方法字节流File file1 = new Fi...原创 2020-02-08 10:22:04 · 281 阅读 · 0 评论 -
Java基础:异常处理
一、异常处理机制的简单原理和应用。异常指Java程序运行时(非编译)所发生的非正常情况或错误。java对异常进行了分类,不同类型的异常使用了不同的java类,所有异常的根类为java.lang.Throwable.Throwable派生了2个子类:Error和Exception.Error:是程序无法克服和恢复的一种严重错误,程序只有死的份,表示运行应用程序中较严重问题。大多数的错误与代码...原创 2020-02-06 13:22:13 · 557 阅读 · 0 评论 -
JAVA中length属性length()方法和size()方法的区别
1.length属性是针对数组而言的 // 一维数组 int[] array = new int[7]; System.out.println(array.length); // 二维数据 int[][] array = new int[2][7]; System.out.println(array.length); System.out.pri...原创 2020-02-05 17:27:00 · 252 阅读 · 0 评论 -
Java数组的三种初始化方式
//第一种int[] is= new int[3];is[0]=1;is[1]=2;is[2]=3;//第二种int[] is2= {1,2,3};//第三种int[] is3= new int[]{1,2,3};//我个人比较喜欢第三种方式,比较容易阅读,并且用起来代码不啰嗦,重要的是看起来比较顺眼。。...原创 2020-02-05 17:24:45 · 3258 阅读 · 0 评论 -
java中数组是对象吗?
数组是对象哦。数组的父类也是Object,每个数组都实现了接口Cloneable and java.io.Serializable。但是数组的类型却不是程序员可见的。但是由于数组也是Object的子类,我们可以打印出数据的类型名。// Java program to display class of // int array typepublic class Test{ publi...原创 2020-02-05 17:12:59 · 1287 阅读 · 0 评论 -
Java中String、StringBuffer、StringBuilder、StringTokenizer有什么区别
有4个类可以对字符或字符串进行操作,它们是Character、String、StringBuffer、StringTokenizer,其中Character用于单个字符操作,String用于字符串操作,属于不可变类,而StringBuffer也是用于字符串操作,不同之处是StringBuffer属于可变类。String是不可变类例子:String s = "Hello";s += " wor...原创 2020-02-05 16:47:59 · 234 阅读 · 0 评论 -
“==”、equlas和hashCode有什么区别
==比较两个对象是否指向同一块存储空间equlasObject类中的方法与==一样比较两个变量指向的对象是否是同一对象源码public boolean equals(Object obj) { return (this == obj);}如果想比较两个实例对象的内容是否相同,那么必须覆盖equals()方法例如String类的equals方法是用于比较两个独立对象的内容是...原创 2020-02-05 13:54:45 · 140 阅读 · 0 评论 -
Java中左移和右移运算符理解
1、<< :左移 左边最高位丢弃,右边补齐02、>> :右移 最高位是0,左边补齐0;最高为是1,左边补齐13、>>>:无符号右移 无论最高位是0还是1,左边补齐0 //左移,向左移动几位就是乘以2的几次幂 //System.out.println(12 << 1); //24 //System.out.println(12 ...原创 2020-02-04 22:11:22 · 2864 阅读 · 0 评论 -
1、clone方法,深复制和潜复制的理解
概念:Object类提供了一个clone()方法,这个方法的作用是返回一个对象的复制。返回的是一个新的对象,而不是一个引用。实现步骤:实现clone的类首先需要继承Cloneable接口。Cloneable接口实质上是一个标识接口,没有任何接口方法。在类中重写Object类中的clone()方法。在clone方法中调用super.clone()。无论clone类的继承结构是什么,supe...原创 2020-02-01 15:16:13 · 443 阅读 · 0 评论