
Java
文章平均质量分 87
程序媛_小白
这个作者很懒,什么都没留下…
展开
-
Java并发,什么是可见性?为什么会出现”不可见“
字节码的执行过程是在工作内存中,但是getField和putField这二条指令其实是跟主内存有交互的,这里还是以Counter类的increment方法为例。getField指令会从主存中读取count的值,但是并不是每次都从主存中读,因为CPU高速cache的存在,我们count值有可能会从cache中读,导致读的并不是最新的putField指令会将count新的值写入主内存,但是也不是立即生效...原创 2022-06-09 18:28:45 · 585 阅读 · 0 评论 -
Java并发,主内存、工作内存是什么?
这2个概念是Java内存模型中提出的,我们目前只需要知道内存模型是帮我们屏蔽底层硬件细节的,程序员只需要按照它的规则来写代码,写的程序就可以实现跨平台运行原创 2022-06-06 17:51:05 · 2849 阅读 · 0 评论 -
Java游戏开发需要熟练掌握
Java不难使用,因此新手可以弄清楚如何制作项目范围并编写可重用的代码,并在PC框架之间有效地移动。与C++等编程方言相比,Java更易于编写、研究、学习和收集。原创 2022-06-02 18:20:52 · 1386 阅读 · 0 评论 -
Java中常用的8大排序算法(二)
分类:插入排序(直接插入排序、希尔排序)交换排序(冒泡排序、快速排序)选择排序(直接选择排序、堆排序)归并排序分配排序(基数排序)所需辅助空间最多原创 2022-06-01 18:28:45 · 134 阅读 · 0 评论 -
Java中常用的8大排序算法(一)
分类: 插入排序(直接插入排序、希尔排序) 交换排序(冒泡排序、快速排序) 选择排序(直接选择排序、堆排序) 归并排序 分配排序(基数排序) 所需辅助空间最多:归并排序 所需辅助空间最少:堆排序 平均速度最快:快速排序 不稳定:快速排序,希尔排序,堆排序。 // 排序原始数据private static final int[] NUMBERS ={49, 38, 65, 97, 76, 13, 27,原创 2022-05-31 18:14:03 · 256 阅读 · 0 评论 -
Java替换字符
replace()以及类replaceFirst()的String,在 Java 中替换给定字符串中的一个或多个字符。String.replace()替换 Java 字符串中的特殊字符我们可以使用该replace()方法来替换字符串中的单个字符。replace(oldChar, newChar)需要两个参数:第一个参数是我们要替换的字符,第二个参数是要替换旧字符的新字符。在下面的示例中,我们有一个oldString1包含带有 的语句的字符串...原创 2022-05-26 18:29:28 · 9743 阅读 · 0 评论 -
Java二叉树
1.二叉树二叉树是一种递归数据结构,其中每个节点最多可以有 2 个子节点。二叉树的一种常见类型是二叉搜索树,其中每个节点的值都大于或等于左子树中的节点值,并且小于或等于右子树中的节点值树。这是这种二叉树的直观表示:对于实现,我们将使用一个辅助Node类来存储int值,并保留对每个孩子的引用:class Node { int value; Node left; Node right; Node(int value)...原创 2022-05-20 18:32:43 · 323 阅读 · 0 评论 -
JVM怎么保存Java对象
本文主要讲解一下在 JVM 中如何保存 Java 对象以及 Java 对象指针压缩相关的东西JVM 体系结构JVM 规范中定义的体系结构(这个只是定义的规范,实际的 JVM 实现中可能与这个结构会有差异)堆和方法区是所有类共享的,其中堆主要存储对象实体,方法区存储的信息比较多,主要包括下面几类:类的基本类型信息 类型的全限定名 直接超类的全限定名(除了 Object) 是类还是接口 访问修饰符 该类的常量池...原创 2022-05-19 17:51:23 · 539 阅读 · 0 评论 -
Java解析文件乱码
1.普通文件中文乱码普通的文件是指我们平时用记事本可以看到内容的文件,例如.txt结尾的文件,这里为了测试,小编准备了了两个编码的文件,test.txt和test2.txt,test.txt是通过window创建的文件编码是 GBK,test2.txt是在编辑器里创建的,编辑器的编码是 UTF-8;文件内容如下:方式一 :字节流读取字节转化为字符串显示//通过FileInputStream读取字节 String path1 = "C:\\Users\...转载 2022-05-18 17:37:01 · 3450 阅读 · 0 评论 -
Java创建目录的方法
Java创建目录的方法在Java下如何创建目录?在 Java 中,该mkdir()函数用于创建新目录。此方法将抽象路径名作为参数,并在JavaFile类中定义。mkdir()如果目录创建成功,则返回true ;否则,它返回false 。句法看看mkdir()下面的函数签名:代码下面的代码片段说明了该mkdir()函数创建新目录的用法:import java.io.*; class CreateDirectory { public stati...原创 2022-05-17 18:24:03 · 6666 阅读 · 0 评论 -
Java编程几个高级知识
一般来说,想要成为优秀的Java程序员的人需要练习他们的技能并熟悉Java语言基础知识。希望提升技能的有经验的Java程序员需要尝试他们学到的新的编程技能。技能提升的优势技能提升被定义为向员工传授新技能的实践。这包括自学。当专业人士开始职业生涯时,他们会长期从事该行业,而不是仅仅接受提供给他们的任何旧工作,而不考虑未来。但是,追求职业的专业人士不能保持静止。像鲨鱼一样,它们必须不停地游动并向前移动。技能提升有助于职业员工提高和扩展他们的技...原创 2022-05-16 18:24:21 · 143 阅读 · 0 评论 -
Java平台无关性
Java是如何实现平台无关性的?相信对于很多Java开发来说,在刚刚接触Java语言的时候,就听说过Java是一门跨平台的语言,Java是平台无关性的,这也是Java语言可以迅速崛起并风光无限的一个重要原因。那么,到底什么是平台无关性?Java又是如何实现平台无关性的呢?什么是平台无关性平台无关性就是一种语言在计算机上的运行不受平台的约束,一次编译,到处执行(Write Once ,Run Anywhere)。也就是说,用Java创建的可执行二...原创 2022-05-13 17:55:06 · 2214 阅读 · 0 评论 -
学Java可以做什么?
为什么Java如此受欢迎以及为什么我应该学习它Java非常流行,但不是世界上唯一流行的语言。现在您可能在想:“为什么我需要所有选项的Java”?正如我们之前所说,没有一种编程语言具有无可争议的权威。不过,如果您分析掌握某种语言的长期利益,您仍然可以轻松选择。让我们尝试了解是什么让Java如此受欢迎,以及为什么学习它是一个好点。Java对初学者友好您绝对可以找到最初比Java更容易的语言。首先,它是Python,一种语法简洁易懂的语言。然而,在Java...原创 2022-05-10 18:11:28 · 654 阅读 · 0 评论 -
Java的4种引用
Java中存在四种引用:StrongReference(强引用) 、SoftReferenc(软引用) 、WeakReferenc(弱引用)、PhantomReference(虚引用),虽然不常用,但是对于理解Java的回收等级还是很有帮助的,一句话来说这些引用只是不同回收等级的一种表现形式StrongReference(强引用)强引用是最经常使用的一种引用,如new操作创建的对象就属于强引用,如下代码,对于强引用要记住无论如何JVM都不会去回收其内存....原创 2022-05-09 17:01:16 · 3720 阅读 · 0 评论 -
Java常用技术
世界各地的每个人仍然对 Java 在 Web 和移动开发中的惊人力量感到惊讶。当然,您也可能会被 Java 在软件开发中的流行和垄断所吸引,并且您可能希望在您的下一个 Web 开发解决方案中使用 Java 编程语言。Java编程语言的优点有很多,大家以后就会慢慢了解。Java 让您可以处理复杂的应用程序解决方案,例如计票投票、航班预订 API、酒店预订、预订系统等。但是,您不知道开发复杂或简单的 Web 应用程序需要哪些 Java 技术?在 Java ...原创 2022-05-07 18:08:39 · 3428 阅读 · 2 评论 -
Java连接数据库的步骤
Java数据库连接,JDBC是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。以下 5 个步骤是使用 JDBC 将 Java 应用程序与数据库连接所涉及的基本步骤。 注册驱动程序 创建连接 创建 SQL 语句 执行 SQL 语句 关闭连接 注册驱动程序它首先...原创 2022-04-29 17:48:20 · 7095 阅读 · 0 评论 -
Java生成随机整数
在 Java 中,生成随机数的场景有很多,所以本文我们就来盘点一下 几种生成随机数的方式,以及它们之间的区别和每种生成方式所对应的场景。1. java.util.Random这Random().nextInt(int bound)会生成一个从 0(包括)到 bound(不包括)的随机整数。(1)代码片段对于getRandomNumberInRange(5, 10),这将生成一个介于 5(含)和 10(含)之间的随机整数。private static int getRan...原创 2022-04-29 17:43:05 · 25402 阅读 · 1 评论 -
Java的主要特性,现在还值得学吗?
Java仍然是一种相关的编程语言,其受欢迎程度没有下降的迹象,因此值得学习。大多数开发人员选择它作为他们的第一种编程语言,因为它相当容易学习。由于该语言具有类似英语的语法且特殊字符最少,因此可以在短时间内学习Java,并用于构建合适的应用程序。Java是深受C++(以及C#)影响的语言家族的一部分,因此学习Java在学习这两种语言时会带来巨大的好处。Java爱好者Swarnim Srivastava同意该语言值得学习。他解释了使用它的关键...原创 2022-04-29 17:39:01 · 406 阅读 · 0 评论 -
Java Web开发流程
要创建 Web 应用程序,动力节点小编告诉大家需要以下Java开发工具:IDE(Eclipse或 Netbeans)数据库(Oracle 或Mysql)服务器(Tomcat)在创建任何 Web 应用程序之前,请确保上述所有工具都已正确安装在您的系统上。现在,按照以下步骤开发 Web 应用程序:1、打开Eclipse 创建一个动态Web项目打开 Eclipse IDE,导航到File-> New-> Dynamic Web Project。如果动态 Web原创 2022-04-28 18:10:18 · 11431 阅读 · 0 评论 -
我们为什么要学Java,原因有哪些?
很多初学者喜欢的一种通用语言是Java。Java不应与JavaScript混淆,它是一种需求技能。为什么它对初学者来说是一门好语言?我们将在本文中回答这些问题,通过分解为什么学习Java编码是对您未来的一项巨大投资的理由。什么是Java?Java最初由Sun Microsystems开发,是一种通用编程语言,用于从Web开发到游戏开发的所有领域。Java被创建为C++的一个更简单的版本,它以学习曲线陡峭和难以使用而闻名。...原创 2022-04-28 18:05:14 · 2079 阅读 · 0 评论 -
Java初学者看什么书比较好?
1.Head First Java,第2版如果您只购买一本Java书籍,那么就是这样。被读者亲切地称为Java编程“圣经”。这是有史以来最畅销的JAVA书籍。Head First Java提供了每个Java程序员必须了解的信息的访问权限。现在编写的大多数Java书籍都是针对高级开发人员的,但Head First Java已经考虑到Java初学者面临的问题。这是Java培训方法之前从未有过的,这些书籍使用复古图片、拼图、代码练习、脑筋急转弯等进行有效学习。您会发现这本书结构合理、内容丰富且...原创 2022-04-28 18:02:59 · 727 阅读 · 0 评论 -
Java IO流(三)
转换流顾名思义,就是可以把字符与字节的流相互转换OutputStreamWriter类OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的字符编码表,将要写入流中的字符编码成字节。它的作用的就是,将字符串按照指定的编码表转成字节,在使用字节流将这些字节写出去/** * 字符转字节,并指定编码 */public static void test1() throws IOException { // 创建与文件...原创 2022-04-27 18:03:04 · 278 阅读 · 0 评论 -
Java IO流(二)
I/O 工作原理磁盘I/Otips: DMA:全称叫直接内存存取(Direct Memory Access),是一种允许外围设备(硬件子系统)直接访问系统主内存的机制。基于 DMA 访问方式,系统主内存与硬件设备的数据传输可以省去CPU 的全程调度特点 读写操作基于系统调用实现 读写操作经过用户缓冲区,内核缓冲区,应用进程并不能直接操作磁盘 应用进程读操作时需阻塞直到读取到数据 网络I/O特点 网络I/O读写操作经过用户缓冲区,Sokce原创 2022-04-27 17:59:40 · 1077 阅读 · 0 评论 -
Java IO流(一)
IO概述之前写过的程序,数据都是在内存中,一旦程序运行结束,这些数据都没有了,等下次再想使用这些数据,可是已经没有了。那怎么办呢?能不能把运算完的数据都保存下来,下次程序启动的时候,再把这些数据读出来继续使用呢?其实要把数据持久化存储,就需要把内存中的数据存储到内存以外的其他持久化设备(硬盘、光盘、U盘等)上 当需要把内存中的数据存储到持久化设备上这个动作称为输出(写)Output操作 当把持久设备上的数据读取到内存中的这个动作称为输入(读)Input操作 因此...原创 2022-04-27 17:56:05 · 203 阅读 · 0 评论 -
零基础学习Java的方法有哪些?
零基础学Java只要方法得当,依然有机会学习好Java编程。初学Java就像交朋友从陌生到熟悉再到铁杆搭档一生相伴,随着学习的深入,你会发现学Java并不是想象的那样枯燥和困难,甚至还有一些美妙之感,这是在拥有强大的技术和出色的设计思想后才能体会的。俗话说“罗马城不是一天建成的”Java的这种境界也不是一朝一夕可以实现的,但作为初学者可以通过制定一些合理清晰的学习计划,在帮你屡清楚思路的同时还能有效提高学习效率。计划一、透彻理解面向对象...原创 2022-04-26 17:20:56 · 208 阅读 · 0 评论 -
怎样才能学好Java?学习Java有几个重要阶段?
Java如今已经是全球编程语言排名第一的语言,运用广泛,前景广阔,而且很多软件的开发都离不开Java,而在以Java为核心的开发领域中,JavaEE程序员的需求量10年来一直居于首位!学习Java如何入门?学习教程要点是什么?如何精通?做好以下这些点,入门更快,掌握Java更轻松。Java必备基础知识你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该十分了解UML,尤其是class,object,in...原创 2022-04-26 17:16:09 · 260 阅读 · 0 评论 -
零基础学习Java经常犯的错误有哪些?
Java是一种复杂的编程语言,在很长一段时间内一直主导着许多生态系统。可移植性、自动垃圾收集及其温和的学习曲线使其成为软件开发中的绝佳选择。但是,与任何其他编程语言一样,它仍然容易受到开发人员错误的影响。本文探讨了Java开发人员最常犯的几个错误以及避免这些错误的一些方法。1、忽略现有库对于Java开发人员来说,忽略无数用Java编写的库绝对是一个错误。在重新发明轮子之前,请尝试搜索可用的库——其中许多库在它们存在的多年中已经过完善并且可以免费使用。这些可能是日志库,...原创 2022-04-26 17:12:17 · 640 阅读 · 0 评论 -
Java学习框架的正确顺序,你知道吗?
Java是大数据、机器学习、Web开发、Android开发等领域最受欢迎的编程语言之一。Java的力量已经释放了超过25年,因为它已被证明是为数百万开发人员提供帮助的最通用和最强大的工具之一。作为一种高级的面向对象编程语言,Java被设计为具有很少的实现依赖关系。Java允许应用程序开发人员编写一次,随处运行(WORA),从而使其成为一种通用语言。这实际上意味着编译后的Java代码可以在所有支持Java的平台上运行,而无需重新编译。Java应用程序通常被编译为字节码,然后...原创 2022-04-25 18:17:28 · 1090 阅读 · 0 评论 -
Java需要了解哪些技能?
Java自1995年推出以来一直是领先的编程语言。它是一种编译语言,其目标代码不局限于任何一个处理器或计算机,使其成为跨平台应用程序的绝佳选择,包括Web应用程序和服务器端代码。目前看来,Java是编写Android应用程序的最流行的选择。它还广泛用于云应用程序、机器学习环境和物联网技术,Java开发人员需要广泛的技能,从对基础知识的透彻了解到对最新发展的理解。Java开发人员还需要语言本身以外的知识,包括开发过程如何工作以及如何导航代码运行的环境。即...原创 2022-04-25 18:15:27 · 665 阅读 · 0 评论 -
Java如何格式化输出?
在JavaSe5中,推出了C语言中printf()风格的格式化输出。这不仅使得控制输出的代码更加简单,同时也给与Java开发者对于输出格式与排列更大的控制能力。今天,我们开始学习Java中的格式化输出。System.out.format()由于内容比较简单,我们通过实例来加以说明。项目结构如下:Java Se5引入的format方法可用于PrintStream或PrintWriter对象,其中也包括System.out对象。package ...原创 2022-04-25 18:09:31 · 5218 阅读 · 1 评论 -
Java NIO与Java BIO的区别是什么?
1、什么是Java NIO?同步非阻塞io模式,拿烧开水来说,NIO的做法是叫一个线程不断的轮询每个水壶的状态,看看是否有水壶的状态发生了改变,从而进行下一步的操作。Java NIO有三大组成部分:Buffer;Channel;Selector。通过事件驱动模式实现了什么时候有数据可读的问题。 Channel:相当于IO操作的载体,相当于一个硬件设备,一个文件,一个socket或是区别程序中的不同IO操作,如read,write。...原创 2022-04-24 16:05:38 · 4070 阅读 · 0 评论 -
JDBC的使用方法是什么?Java基础
JDBC其实一套规范(接口)数据库厂商需要实现此接口(实现类)--数据库驱动jdbc的作用 可以和数据库创建链接 发送sql语句 接收返回值,处理结果 api详解(java.sql或者javaX.sql)DriverManager 类:管理一组 JDBC 驱动程序的基本服务。常用方法: registerDriver(Driver):注册驱动查看 mysql的Driver的时候有下面一段代码:发现在类加载的时候已经注册过驱动,我们以后只需原创 2022-04-24 16:02:21 · 114 阅读 · 0 评论 -
Java如何避免空指针异常?
Java中如何避免空指针异常,这也是由初级程序员成长到中级程序员的时候经常会遇到的问题。程序员不知道或不信任正在使用的约定,并且小心的检查着null。还有当程序员写代码的时候,总是会依赖于通过返回空(NULL)来表明某些意义,因此需要调用者去检查Null。有两种空指针的检查场景: 期望的结果就是null。 期望的结果不是null。 第二种很简单,可以通过用assert或者允许程序报错,例如抛出NullPointerE...原创 2022-04-22 17:40:18 · 908 阅读 · 0 评论 -
Java内存模型和硬件内存模型的联系是什么?
Java内存模型很好的说明了JVM是如何在内存里工作的,JVM可以理解为java执行的一个操作系统,作为一个操作系统就有内存模型,这就是我们常说的JAVA内存模型。如果我们想正确的写多线程的并行程序。理解好java内存模型在多线程下的工作方式是及其重要的,这可以帮我们更好的理解底层的工作方式。java内存模型说明了不同的线程怎样以及何时可以看到其他线程写入共享变量的值,以及同步程序怎么共享变量。最初的java内存模型不够好,存在很多的不足,所以在jav...原创 2022-04-22 17:35:58 · 179 阅读 · 0 评论 -
Java基础:Java内存模型
Java内存模型是一种抽象的规则或规范,定义了程序中存在竞争现象的对象(包括实例字段、静态字段和数组对象,不包括局部变量,形式参数;后者是线程私有,不存在竞争问题)的访问方式。如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java内存模型定义了多线程之间共享变量的可见性以及如何在需要的时候对共享变量进行同步。JVM通过Java内存模型,屏蔽掉不同硬件和操作系统的内存访问差异,实现各种平台具有一致的并发效果。1. 内存模型1...原创 2022-04-21 18:20:55 · 204 阅读 · 0 评论 -
Java跨平台原理分析
Java跨平台原理 Java为什么能够流行 外部环境 互联网的爆发式发展 互联网上的电脑硬件不同,软件环境差异较大。需要一 个跨平台的语言。 Java核心优势 跨平台 Java运行过程 Java程序的运行分为两步:先编译再解释执行 通过“编译器”将Java源程序编译成Java 字节码文件(.class)(字节码文件采用结构中立 的中间文件格式) 通过不同的“虚拟机”将Java字节码文件解释为对应机器语言并执行原创 2022-04-21 18:17:12 · 155 阅读 · 0 评论 -
初学者怎么学Java效率最高?Java学习路线分析
初学者开始入门的一些状况如果我们是零基础或者非计算机专业毕业的,或者是计算机毕业的同学,那么我们的基础我认为是比较不扎实的,换句话来说就是即使作为实习生来说,工作给我们的小任务我们都无法完成,我们只能请叫老同志寻求帮助。那么对于我们这种基础不扎实的,如果想第一份工作就月入过万,我们应该制定一个学习计划和学习路线,这样我们也不至于进入公司后,组长让我们做个功能,我一头雾水,各种冒汗不知道怎么做,还不好意思打搅忙碌的老同事,说白了老同事也没有义务教你,自己还忙的不行,只能...原创 2022-04-20 18:17:18 · 1711 阅读 · 0 评论 -
Java关键字:this和static
在C语言中,我们经常会遇到指针,也常常被指针所困扰,毕竟它经常惹程序员头疼。那么在Java中我们便方便多了,只是因为有了this.那么this到底能给我们带来多大的便利呢?接下来让我们一起康康。static作为静态的单词,在Java中又有着怎样的妙用呢?这里主要给大家讲解this的调用方法和注意事项以及static的妙用。一、This调用方法关于this,首先它是一个关键字,是不能当作变量名来使用的;在我们的...原创 2022-04-20 18:13:02 · 2050 阅读 · 0 评论 -
Java进阶书籍,程序员进阶必看
有经验的Java开发人员都会不时开始寻求提高他们的Java技能,毕竟这是一条动态的职业道路,您需要不断学习以了解新的和即将推出的Java功能。Java是使用最广泛的编程语言,因此最好花一些时间来提高您的Java技能。信不信由你,新的Java书籍是学习Java的极好资源,因为它们是由该领域的专家编写的,他们在该领域非常可信。Java书籍也比免费和在线材料更详细,提供更深入的知识。1.Java并发实践作者–Brian Goetz与Tim Peierls...原创 2022-04-19 18:31:52 · 748 阅读 · 0 评论 -
零基础学Java靠谱吗?
相信有很多没接触过Java的人都觉得Java难学吗?那么真的是这样吗?是的,很难,它已经存在了很长时间,这意味着它有足够的时间来发展,并且在很多地方使用它,这意味着有很多开发人员知道它。但是,这两件事并不一定会让初学者更容易学习。就像任何编程语言一样,有简单易行的部分和复杂难懂的概念。Java是否难学还有一部分取决于个人对技术的了解程度以及您对学习新编程语言的兴趣程度。如果你选学习Java,你会遇到一些基本的东西,比如函数和变量,但你也会遇到多态性。如...原创 2022-04-19 18:24:08 · 904 阅读 · 0 评论