![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
文章平均质量分 82
Javacxyzz
这个作者很懒,什么都没留下…
展开
-
五分钟带你走进Redis并发问题
redis中的并发问题使用redis作为缓存已经很久了,redis是以单进程的形式运行的,命令是一个接着一个执行的,一直以为不会存在并发的问题,直到今天看到相关的资料,才恍然大悟~~具体问题实例有个键,假设名称为myNum,里面保存的是阿拉伯数字,假设现在值为1,存在多个连接对myNum进行操作的情况,这个时候就会有并发的问题。假设有两个连接linkA和linkB,这两个连接都执行下面的操作,取出myNum的值,+1,然后再存回去,看看下面的交互:linkA get myNum => 1li原创 2021-01-29 16:39:17 · 188 阅读 · 0 评论 -
用最直观的方法教你AVA与DOM解析器
文件对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展置标语言的标准编程接口。各种语言可以按照DOM规范给出解析XML文件的解析器。Sun公司发布的JDK1.4的后续版本中提供了解析XML文件的网API(Java API for XML Processing)。关于XML语法请参考这里。为什么没有对java类和实际对象没做详细说明,我已经到代码中写了注释了,到这里就不做过多的说明了。检测命名空间:TestNameSpace.javaimport java.原创 2021-01-19 16:40:15 · 310 阅读 · 0 评论 -
基础不牢地动山摇,你必须知道的java虚拟机之运行时数据区域
文章目录一、本章提要二、程序计数器三、Java虚拟机栈局部变量表四、本地方法栈五、Java堆六、方法区运行时常量池七、直接内存八、总结一下九、写到最后首先阐述一下写这个系列的目的,主要是受到一些启发,发现很多同学在平常工作过程中是为了编码而编码,一到跳槽季就急急忙忙的地进行亡羊补牢式的恶补,可能在短期来看,应试型的学习方式能获得较为不错的成效。但是随着工作年龄的增长这种学习方式就会漏洞百出,最常见的就是知其然不知其所以然,没有形成一个完整的知识体系,导致很多内容无法连贯起来,渐渐的就感受到了所谓的技术瓶颈原创 2021-01-15 16:04:08 · 147 阅读 · 0 评论 -
盘点全网最全的前端基础之CSS
文章目录一、CSS介绍二、CSS语法1. CSS实例2. CSS注释三、CSS的几种引入方式1. 行内样式2. 内部样式3. 外部样式四、CSS选择器1. 基本选择器元素选择器ID选择器类选择器通用选择器2. 组合选择器后代选择器儿子选择器毗邻选择器弟弟选择器3. 属性选择器4. 分组和嵌套分组嵌套5. 伪类选择器6. 伪元素选择器first-letterbeforeafter7. 选择器的优先级CSS继承选择器的优先级五、CSS属性相关1. 宽和高2. 字体属性文字字体字体大小字重(粗细)文本颜色3. 文原创 2021-01-13 15:49:57 · 107 阅读 · 0 评论 -
教你如何用最短的时间实现Java的异步调用
一、创建线程 @Testpublic void test0() throws Exception { System.out.println("main函数开始执行"); Thread thread=new Thread(new Runnable() { @Override public void run() { System.out.println("===task start==="); try { Thread.sleep(5000);原创 2021-01-12 16:05:39 · 214 阅读 · 0 评论 -
学习Java之前需要准备些什么?
一、认识 java1. java分为三类JavaSE 基础核心JaveEE web方向(企业版)JavaME 移动、游戏…(嵌入式开发)2. 概念JVM java虚拟机 JVM就包含了解释器(interpreter)整个java程序的执行过程如下JDK (java Development kit) java开发工具包JRE (java runtime Enviroment) java运行环境二、环境变量的配置JAVA_HOME C:\Program F原创 2021-01-09 16:57:05 · 330 阅读 · 0 评论 -
史上最全Java知识点总结归纳,赶紧收藏吧!
文章目录一、流二、异常三、注解四、安全性五、类加载1. 原理2. 加载器六、关键字七、初始化八、多线程1. 线程池2. 线程安全九、内存模型内存组成十、写到最后一、流Java所有的流类位于http://java.io包中,都分别继承字以下四种抽象流类型。继承自InputStream/OutputStream的流都是用于向程序中输入/输出数据,且数据的单位都是字节(byte=8bit)。继承自Reader/Writer的流都是用于向程序中输入/输出数据,且数据的单位都是字符(2byte=16bi原创 2021-01-08 16:20:44 · 2312 阅读 · 0 评论 -
我觉得用java爬虫也不比phython差吧?
文章目录1. 网络爬虫基本技术处理2. 网络爬虫的整体执行流程:Ⅰ在进行网页爬虫前,我们先针对一个飞机事故失事的文档进行数据提取的练习,主要是温习一下上一篇的java知识,也是为了下面爬虫实现作一个热身准备。Ⅱ接下来我们就可以在网页的数据上下手了。3. 通过正则表达式完成超连接的连接匹配和提取4. 广度优先遍历5. 多线程爬虫实现6. 控制台显示:7. 本地目录显示:8. 总结:9. 写到最后这一篇目的就是在于网络爬虫的实现,对数据的获取,以便分析。1. 网络爬虫基本技术处理网络爬虫是数据采集的一种方原创 2021-01-07 16:11:26 · 197 阅读 · 2 评论 -
看完这篇文章,你还怕搞不明白Java中的多线程?
文章目录一、引二、扎好马步:线程的状态三、内功心法:每个对象都有的方法(机制)四、太祖长拳:基本线程类1. Runnable2. Callable五、九阴真经:高级多线程控制类1.ThreadLocal类2.原子类(AtomicInteger、AtomicBoolean……)3.Lock类4.容器类5.管理类六、总结一、引如果对什么是线程、什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内。用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来原创 2021-01-04 16:17:35 · 130 阅读 · 0 评论 -
大厂面试官夺命连环问,这谁顶得住?
文章目录一、说一说 JVM 运行时数据区?1. 程序计数器2. Java 虚拟机栈3. 本地方法栈4. Java 堆5. 方法区二、GC 收集器有哪些?三、如何判断 Java 对象已经被回收?四、垃圾回收算法有哪些?1. 标记-清除(Mark-Sweep)2. 复制(Copying)3. 标记-整理(Mark-Compact)五、写到最后近几年,无论是使用规模、开发者人数,还是技术生态成熟度、相关工具的丰富程度,Java 都在后端开发语言中有着不可撼动的地位,也是开发各类业务系统的首选语言。但很多同学却原创 2020-12-30 17:33:43 · 158 阅读 · 0 评论 -
java中构造方法和构造函数难道不是同一个东西吗?
文章目录一、重载构造方法二、默认构造方法三、子类调用父类的构造方法四、构造方法的作用域五、构造方法的访问级别(1)在这个类中仅仅包含了一些供其他程序调用的静态方法,没有任何实例方法。(2)禁止这个类被继承。(3)这个类需要把构造自身实例的细节封装起来,不允许其他程序通过new语句创建这个类的实例,这个类向其他程序提供了获得自身实例的静态方法,这种方法称为静态工厂方法。六、总结重载构造方法 、默认构造方法、子类调用父类的构造方法、构造方法的作用域、构造方法的访问级别在多数情况下,初始化一个对象的最终步骤原创 2020-12-29 16:35:59 · 1054 阅读 · 0 评论 -
面试官:别给我扯什么死锁高并发,你先把Java多线程的基础知识点讲明白
本文介绍了Java多线程的基本概念,使用方法,以及底层实现原理。帮助你更好地使用Java的多线程。一、Java中的线程Java之父对线程的定义是:线程是一个独立执行的调用序列,同一个进程的线程在同一时刻共享一些系统资源(比如文件句柄等)也能访问同一个进程所创建的对象资源(内存资源)。java.lang.Thread对象负责统计和控制这种行为。每个程序都至少拥有一个线程-即作为Java虚拟机(JVM)启动参数运行在主类main方法的线程。在Java虚拟机初始化过程中也可能启动其他的后台线程。这种线程原创 2020-12-28 17:29:31 · 116 阅读 · 0 评论 -
你绝对不知道的Java面试必考点之网络编程
一、本文思维导图本人另外整理了我从零开始自学Java学习路线、学习资料及近五年大厂的面试真题大全,如果需要的话自行领取下载:腾讯文档二、简介Java作为一门后端语言,对于网络编程的支持是必不可少的,但是,作为一个经常CRUD的Java工程师,很多时候都不需要接触到网络编程,自然而然地对这个东西不那么重视了,毕竟,即使像是JVM虚拟机,Java多线程,在平时工作的时候还会用到一些,但是对于网络编程,除非你做的东西确实是需要自己写通讯服务代码的,比如网络游戏,以及偏向中间件方向的开发, 可能会接触到原创 2020-12-26 17:34:26 · 286 阅读 · 0 评论 -
我当年要是这样学Java,得少走多少弯路啊!
文章目录一、本文思维导图二、简介三、为什么要学Java四、如何学习Java基础1. 第一次接触2. 学完了Java课,我能出师了吧?五、研究生阶段:推翻重来六、实践阶段七、如果重新开始,我会这样学Java八、总结一、本文思维导图二、简介在这个三百六十行,行行转互联网的后互联网时代,Java作为一门深受培训班、企业以及开发者喜爱的语言,仍然非常火爆,虽然比不上之前几年的风光,但是依旧有一大批的追随者和学习者涌入。不妨先来看看Java语言时如何被定义的。根据百度百科的介绍,Java是一门面向对象编原创 2020-12-25 17:35:49 · 228 阅读 · 0 评论 -
Java中的强引用、软引用、弱引用、虚引用,你知道几个?
文章目录一、背景二、预备知识1. Young GC示例解释2. 解释3. Full GC示例解释4. 解释三、强引用四、软引用五、弱引用六、虚引用七、在Guava中使用强软弱引用七、总结一、背景工程中用到guava的本地缓存。它底层实现和API接口上使用了强引用、软引用、弱引用。所以温故知新下,也夯实下基础。二、预备知识先来看下GC日志每个字段的含义1. Young GC示例解释[GC (Allocation Failure) [PSYoungGen: 273405K->20968K(27原创 2020-12-24 17:12:22 · 189 阅读 · 1 评论 -
好家伙,这才是Java 类隔离加载的正确打开方式!
文章目录一、什么是类隔离技术二、如何实现类隔离1. 重写 findClass2. 重写 loadClass三、总结一、什么是类隔离技术只要你 Java 代码写的足够多,就一定出现这种情况:系统新引入了一个中间件的 jar 包,编译的时候一切正常,一运行就报错:java.lang.NoSuchMethodError,然后就哼哧哼哧的开始谷歌找解决方法,最后在几百个依赖包里面找的眼睛都快瞎了才找到冲突的 jar,把问题解决之后就开始吐槽中间件为啥搞那么多不同版本的 jar,写代码五分钟,排包排了一整天。上原创 2020-12-23 17:41:21 · 204 阅读 · 0 评论 -
Java线程池到底是什么!
文章目录一、线程池实现原理二、线程的状态三、线程池操作四、合理配置线程池五、ScheduledThreadPoolExecutor六、总结在开发过程中,合理地使用线程池能够带来至少以下几个好处。降低资源消耗:通过重复利用已创建的线程降低线程创建和销毁造成的消耗。提高响应速度:当任务到达时,任务可以不需要等到线程创建就能立即执行。提高线程的可管理性:线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分配、调优和监控。但是,要做到合理利用线程池原创 2020-12-21 17:45:06 · 123 阅读 · 0 评论 -
程序员的灵魂拷问:我到底是在面向什么编程?
文章目录一、面向什么?二、思考的起源三、面向对象1.面向类?2.封装3.继承4.多态四、面向接口五、总结一、面向什么?面向什么,这是很多初学者甚至编程几年的人不曾思考过的问题。面向什么是一个思想,我们面向什么,意味着我们碰到了问题,我们的解决方案是往哪里去思考。记得之前有个笑话:面向对象编程面向流程编程面向工资编程笑笑就可以,其实编这个笑话的人真正地理解了面向什么?面向对象编程,我解决问题就是我需要几个各有什么功能的对象,然后这几个对象之间如何协作最后实现用户的需求。面向流程编程,先画原创 2020-12-20 17:44:00 · 186 阅读 · 0 评论 -
看了这篇文章,你想不懂Java 线程基础都难!
线程作为操作系统中最少调度单位,在当前系统的运行环境中,一般都拥有多核处理器,为了更好的充分利用 CPU,掌握其正确使用方式,能更高效的使程序运行。同时,在 Java 面试中,也是极其重要的一个模块。线程简介一个独立运行的程序是一个进程,一个进程中可以包含一个或多个线程,每个线程都有属于自己的一些属性,如堆栈,计数器等等。同时,一个线程在一个时间点上只能运行在一个 CPU 处理器核心上,不同线程之间也可以访问共享变量。线程在运行时,系统给每个线程分配一些 CPU 时间片,CPU 在时间片这段时间运行.原创 2020-12-11 17:24:30 · 91 阅读 · 0 评论