Java技术篇 非技术概况 技术层面 资源 1 基础篇 1.stream 2.function 3.Collectors 4.Collection 5.动态代理 6.同步异步 7.future 8.锁...任务系统 - 2.日志系统 - 3.邮件系统 - 4.条件系统 - 5.基础数据的管理 - 6.技能系统 - 7.属性系统 - 8.aoi - 9.资源系统 以上是我打算以后写的一些Java
看了很多关于java 反射的文章,自己把所看到的总结一下。对自己,对他人或多或少有帮助吧。 Java Reflection是什么?...JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制...那么既然能够把类看做是对象,那么java就可以对其进行处理。 ?...同时也是java中默认的加载器。...; 5 import java.io.FileNotFoundException; 6 import java.io.FileOutputStream; 7 import java.io.IOException
,在Java中我们通过Thread类去抽象每个线程个体。...在Java中通过使用volatile关键字、Lock、synchronized关键字、原子类等手段来完成同步(以及通信,线程间通信与同步关系密切),以解决因为同步产生的竞争状态。...3.JMM JMM(Java memory model,通常说的是在JSR133中确定的JMM )定义了什么样的行为在Java多线程中合法。...开头先对比了java并发技术的优劣以及挑战,然后从线程间通信与线程间同步这两个最本质的问题切入,详细描述了什么是线程间通信、什么是线程间同步,并因此引入了JMM这个模型概念。...最后,关于JMM中的语义细节,用底层的实现原理讲解了java语言层面的两个重要关键字volatile、synchronized。
Java 使用面向对象的方式来表示和处理这些错误,JAVA中的异常继承自 java.lang.Throwable 类,主要分为两类: 编译时期异常:checked异常。...Java 提供了结构化的异常处理机制,可以通过 try-catch-finally 语句来捕获和处理异常,避免程序崩溃: try 块:包含可能抛出异常的代码。 catch 块:用来捕获和处理异常。...要注意Java数组的索引从0开始,因此最大索引是数组长度减1。
干货系列之java注解 前言 java反射和注解在java里面很重要,但是很多人对这方面的知识理解不是很好,我来说说我自己对java反射和注解的理解,这两块内容本来应该出在一个博客文章里面讲解,但是由于我的...java反射说的内容有点小多,然后我就分开将讲解一下。...目录 注解的概念 注解的类别 注解用法 通过反射获取注解 反射注解一起使用拼写SQL语句实战演练 注解的概念 java注解: 比较官方的说法: 从JDK5开始,Java增加对元数据的支持,也就是注解,...注解的类别 java语言提供的注解 元注解 其他注解 java语言提供的注解 1.Override 学过java你就知道,你肯定见过这种 @Override public Object clone(...) throws CloneNotSupportedException {} 没错,@Override就是一个java提供的注解。
java虚拟机(JVM): ?...JVM可以理解成一个 可运行 Java字节码的虚拟计算机系统 它有一个解释器组件,可以实现Java字节码和计算机操作系统之间的通信 对于不同的运行平台,有不同的JVM。...垃圾回收器在Java程序运行过程中自动启用,程序员无法精确控制和干预。 JDK与JRE: ?...JDK: Java开发工具集 JRE: Java运行时环境 区别: JDK 包含JRE,还包含了工具程序和API JRE功能: 1 由类加载器来加载代码 2有字节码校验器来校验代码...3 不能是Java中的保留关键字。 数据类型转换: boolean 类型不能转换成任何其它数据类型。
相信小伙伴们已经懂得了冒泡排序的原理和排序逻辑,那么下面用代码给小伙伴们分享Java代码是如何实现冒泡排序的。
关于Java程序的main()方法的说法中,错误的是( A ) A....一个Java程序可以有多个main()方法 B. main()方法是Java程序的入口 C. main()方法使用public、static和void修饰,且顺序不能改变 D. main()方法后面要有一对大括号...在Java程序的程序控制流语句中,可以省略且不影响编译通过的子句是( BC) A.case B.break C.default D.switch 5....在Java语言中,下面( B)是逻辑运算符中优先级最高的 A.&& B.! C.|| D.| 6....根据所学,总结Java中运算符的类别(10分) 赋值运算符:= 算术运算符:+、 -、 *、 /、 % 关系运算符:> 、>=、 <、 <=、 ==、 != 逻辑运算符:!
org.springframework.web.multipart.MultipartHttpServletRequest; import javax.servlet.http.HttpServletRequest; import java.io.File...; import java.io.IOException; import java.util.List; @Controller public class UploadController {...return "上传成功"; } 重启服务,浏览器输入http://localhost:8080/multiUpload: 过程中的注意事项 先判断是否存在文件夹,有文件夹才能将图片上传 [code=java
在Java 8之前的实现中是用链表解决冲突的,在产生碰撞的情况下,进行get时,两步的时间复杂度是O(1)+O(n)。因此,当碰撞很厉害的时候n很大,O(n)的速度显然是影响速度的。...因此在Java 8中,利用红黑树替换链表,这样复杂度就变成了O(1)+O(logn)了,这样在n很大的时候,能够比较理想的解决这个问题,在Java 8:HashMap的性能提升一文中有性能测试的结果。...如果发生碰撞的时候,Hashmap通过链表将产生碰撞冲突的元素组织起来,在Java 8中,如果一个bucket中碰撞冲突的元素超过某个限制(默认是8),则使用红黑树来替换链表,从而提高速度。 3....关于Java集合的小抄中是这样描述的: 以Entry[]数组实现的哈希桶数组,用Key的哈希值取模桶数组的大小可得到数组下标。...iterator()时顺着哈希桶数组来遍历,看起来是个乱序 参考资料 HashMap的工作原理 Java 8:HashMap的性能提升 JEP 180: Handle Frequent HashMap
这些JAVA基础题确定都会了吗?...38、简单说说Java中的异常处理机制的简单原理和应用。...异常是指java程序运行时(非编译)所发生的非正常情况或错误,与现实生活中的事件很相似,现实生活中的事件可以包含事件发生的时间、地点、人物、情节等信息,可以用一个对象来表示,Java使用面向对象的方式来处理异常...Java对异常进行了分类,不同类型的异常分别用不同的Java类表示,所有异常的根类为java.lang.Throwable,Throwable下面又派生了两个子类: Error和Exception...栈:在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配,当在一段代码块定义一个变量时,Java 就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java 会自动释放掉为该变量分配的内存空间
友情指路: 第一期:Spring系列; 第二期:MySQL系列; 第三期:SpringCloud专题; 点击链接跳转,即可领取之前分享的精选资料 今天分享的是Java并发面试资料, 这份资料包含Java...在Java中,线程共有六种状态: 线程在自身的生命周期中, 并不是固定地处于某个状态,而是随着代码的执行在不同的状态之间进行切换,Java线程状态变化如图示: Java线程状态变化 线程间有哪些通信方式...等待/通知机制 可以通过Java内置的等待/通知机制(wait()/notify())实现一个线程修改一个对象的值,而另一个线程感知到了变化,然后进行相应的操作。
本文总结了Java中所有常见的关键字以及一些例子。 static 关键字 ---- 概述: 当static修饰类的属性或者方法时,那么就可以在没有创建对象的情况下使用该属性或方法。...2.Java的语法规定,static不能修饰局部变量。没有为什么,这就是规定。 静态块 静态块和静态变量、静态方法是没什么区别的,也是在类加载的时候执行,而且只执行一次。...static不可以修饰局部变量(java语法规定) 没想到static能有这么多需要注意的,可以说Java中的语法还是有很多可以深究的. final 关键字 ---- 概述: final关键字,在平时的过程中也是很常见的...如果为false,则程序抛出java.lang.AssertionError,并输入。...transient关键字 Java中,一个类想要序列化,可以通过实现Serilizable接口的方式来实现,实现该接口之后,该类所有属性和方法都会自动序列化。
Java语言规范第三版中对volatile的定义如下:Java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致地更新,线程应该确保通过排他锁单独获得这个变量。...java 内存模型的核心是围绕着在并发过程中如何处理原子性、可见性、有序性这3个特性来展开的,它们是多线程编程的核心。...了解volatile关键字之前需要先了解下Java内存模型,java内存模型抽象示意图如下: Java内存模型 ?...有序性 java内存模型中允许编译器和处理器对指令进行重排序,虽然重排序过程不会影响到单线程 执行的正确性,但是会影响到多线程并发执行的正确性。
Java技术栈 www.javastack.cn 优秀的Java技术公众号 推荐阅读: 最新 Spring 系列教程,都在这了! 最新 Java 核心技术教程,都在这了!...以下是Java技术栈微信公众号发布的所有关于 Java Web 技术干货,会从以下几个方面汇总,本文会长期更新。...坑爹的日志无法按天切割问题 阿里巴巴对【日志处理】的规约 Java正确获取客户端真实IP方法整理 到底什么是跨域?附解决方案!...Java程序员必须掌握的常用Linux命令 ElasticJob-分布式作业调度神器 分布式作业 Elastic Job 快速上手指南!...Java 程序员必备的 15 个框架 Mybatis传递多个参数的4种方式 推荐一款 MyBatis 开发神器,为简化而生! 一次 Druid 连接池泄露引发的血案!
大家好,我是鱼皮,今天分享几个 GitHub 上顶级的 Java 源码教程项目。...tutorials 一系列小而专注的教程集合,几乎包括了 Java 生态所有的知识、框架、类库的可执行示例代码!比如 Spring、Netty、Vertx、MyBatis 等等。...每个目录都是一个微型的 Java 项目源码,直接下载运行,或者复制粘贴到自己的项目中,都是极好的。...[tutorials] java-design-patterns 该项目包含了 所有 设计模式的 Java 语言实现源码,远远不止常见的 23 种设计模式!...[程序示例] TheAlgorithms/Java 该项目是所有常用算法和数据结构的 Java 实现,像排序、搜索等。基本每个算法对应一个类,可以直接查看源代码,学习规范的写法。
栈(stack)是限定仅在表尾进行插入和删除操作的线性表。我们把允许插 入和删除的一端称为栈顶,另一端称为栈底 特点: 1先进后出 2栈的入口出口都是...
成为一个优秀的Java程序员,有着良好的代码编写习惯是必不可少的。下面就让我们来看看代码编写的30条建议吧。 (1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。...Java包(Package)属于一种特殊情况:它们全都是小写字母,即便中间的单词亦是如此。...对于域名扩展名称,如com,org,net或者edu等,全部都应小写(这也是Java 1.1和Java 1.2的区别之一)。...(24) 在Java 1.1 AWT中使用事件”适配器”时,特别容易碰到一个陷阱。若覆盖了某个适配器方法,同时拼写方法没有特别讲究,最后的结果就是新添加一个方法,而不是覆盖现成方法。...作者:JAVA柯尼塞克丶
很多小伙伴毕业在即,找工作和面试又被提上了日程,为了解决小伙伴们的燃眉之急,老九君特地为大家整理了一份最新的Java面试题集锦与答案,希望能给近期将要找工作的小伙伴带来帮助。...将会不定期的推送给大家面试题,不仅有Java、Android、其他的编程语言与岗位也会有哦! Switch能否用string做参数?...1、在 Java 7 之前, switch 只能支持byte,short,char,int 或者其对应的封装类以及 Enum 类型。在JAVA 7中,String 支持被加上了。...Hashcode的作用,与 equal 有什么区别 1、同样用于鉴定2个对象是否相等的,java集合中有 list 和 set 两类,其中 set不允许元素重复实现,那个这个不允许重复实现的方法,如果用...JAVA 中堆和栈的区别,说下java 的内存机制 1、基本数据类型比变量和对象的引用都是在栈分配的 2、堆内存用来存放由new创建的对象和数组 3、类变量(static修饰的变量),程序在一加载的时候就在堆中为类变量分配内存
领取专属 10元无门槛券
手把手带您无忧上云