一.内存模型的相关概念大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问题,由于CPU执行速度很快,而从内存读取数据和向内存写入数据的过程跟CPU执行指令的速度比起来要慢的多,因此如果任何时候对数据的操作都要通过和内存的交互来进行,会大大降低指令执行的速度。因此在CPU里面就有了...
“java高分面试指南”已现世!25大专题分类,227页1000+题50w+字解析 一次偶然,从朋友那里得到一份“java高分面试指南”,里面涵盖了25个分类的面试题以及详细的解析:JavaOOP、Java集合/泛型、Java中的IO与NIO、Java反射、Java序列化、Java注解、多线程&并发、JVM、Mysql、Redis、Memcached、MongoDB、Spring、Spring Boot、Spring Cloud、RabbitMQ、Dubbo 、MyBatis 、ZooKeeper 、数据结构、算法、Elasticsearch 、Kafka 、微服...
为热爱编程的你点赞! 学习SpringBoot实战课程 https://edu.csdn.net/course/detail/31433 学习SpringCloud入门课程 https://edu.csdn.net/course/detail/31451前言 JSON和XML是项目开发常见的两种数据格式,JSON常用于网络通信,XML常用于配置文件,下面对它们进行一个简单了解。 JSON JSON的概念 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成,是目前主流的数据交换格式。 JSON的格式: 单个对象:...
转自:https://www.cnblogs.com/yeya/archive/2019/01/03/10212501.html 前言 前面的文章里,我们学习了有关锁的使用,锁的机制是保证同一时刻只能有一个线程访问临界区的资源,也就是通过控制资源的手段来保证线程安全,这固然是一种有效的手段,但程序的运行效率也因此大大降低。那么,有没有更好的方式呢?答案是有的,既然锁是严格控制资源的方式来保证线程安全,那我们可以反其道而行之,增加更多资源,保证每个线程都能得到所...
开发平台:普元eos(封装eclipse) 先上代码:后端代码如下: import javax.websocket.OnClose; import javax.websocket.OnError; import javax.websocket.OnMessage; import javax.websocket.OnOpen; import javax.websocket.Session; import javax.websocket.server.ServerEndpoint; import com.eos.runtime.core.TraceLoggerFactory; import com.eos.system.logging.Logger; @ServerEndpoint("/webSocket") public class WebSoc...
JSON是一个轻量级的数据格式,轻量级是相比较XML等其他复杂的存储格式而言,各个平台语言都支持JSON交互、JSON解析和存储。JSON常用于我们接口交互,前后端交互中,有解析速度快,方便的特点。因此学会JSON解析是非常重要的。 目录 一、JSON简介二、JSON数据格式三、Java与JSON四、使用Gson解析JSON数据1. 对象转换为JSON字符串2. JSON字符串转换为对象3. JSON字符串转换为HashMap 五、使用FastJson解析JSON数据六、总结 一、JSON简...
使用到的工具和软件有:IntelliJ IDEA 各种版本, dom4j-1.6.1, 一个xml文件; 1.查看xml文件的格式,便于后面的模拟输出 <?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE books [<!ELEMENT books (book+)><!ELEMENT book (name, author, price)><!ATTLIST book id CDATA #REQUIRED><!ELEMENT name (#PCDATA)><!ELEMENT author (#PCDATA)><!ELEMENT price (#PCDATA)>]> <books><book id="1"><name>测试1</name><author>作者1</au...
Java 基础 - XML和常见解析 目录Java 基础 - XML和常见解析1 XML的概念1.1 XML的特点和作用1.1.1 特点1.1.2 作用2 XML 语法2.1 XML文档声明2.2 XML元素2.3 属性2.4 注释3 XML的约束3.1 XML约束概念3.2 DTD约束文档3.2.1 如何引入DTD3.3 Schema约束3.3.1 Schema 约束示例3.3.2 Schema引入步骤4 XML解析4.1 常见XML解析方式(两种)4.2 XML常见解析器4.3 dom4j 的使用4.3.1 核心API4.3.2 通过核心API 获取标签名和值4.4 Xpath4.4.1 X...
《Java中高级核心知识全面解析》是整理收录GitHub50K+Star以上的高质量学习文档,前前后后花了近半个月的时间,终于整理而成。包含了Java基础、网络、Linux、数据结构与算法、数据库、系统设计、工具、面试指南等等,可以说是非常的全面;当然,内容也非常的丰富。 说明:《Java中高级核心知识全面解析》整理收录了GitHub上优质学习内容,完整版篇幅较长,本文限于篇幅,故只展示部分内容截图,完整版的《Java中高级核心知识全面解...
Java并发编程:volatile关键字解析volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一下与内存模型相关的概念和知...
1 两个线程同时访问一个对象的同步方法 synchronized 起作用 2 两个线程访问的是两个对象的同步方法 synchronized 不起作用 3 两个线程访问的是 synchronized 的静态方法 synchronized 起作用 4 同时访问同步方法和非同步方法 synchronized 不会影响其他方法,即非同步方法不受影响 /*** @Description 同步方法和非同步方法* @Author tzb* @Date 2021/1/8 15:52* @Version 1.0**/ public class SynchronizedYesAndNo6 implements R...
package com.jxv.common.utils;import com.alibaba.fastjson.JSON; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory;import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.script.ScriptException; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.*;import static com.jxv.common.utils.MathCalcul...
人工鱼群算法 1 人工鱼群算法1.1 定义1.2 算法具体过程1.3 算法流程图1.4 算法伪代码 2 参数解析2.1 视野visual2.2 步长step2.3 群规模N2.4 尝试次数Trynumber2.5 拥挤度因子δ2.6 小结 3 四种基本行为3.1 觅食行为3.2 聚群行为3.3 追尾行为3.4 随机行为 4 行为选择5 终止条件6 求解示例,java代码6.1 主函数测试类6.2 人工鱼类6.3 人工鱼群算法类 7 二元函数优化实例 matlab代码实现7.1 人工鱼群算法需要用到的matlab函数7.2 一元...
在java中,原生解析xml文档的方式有两种,分别是:Dom解析和Sax解析 Dom解析 功能强大,可增删改查,操作时会将xml文档以文档对象的方式读取到内存中,因此适用于小文档 Sax解析 是从头到尾逐行逐个元素读取内容,修改较为不便,但适用于只读的大文档 本文主要讲解Sax解析,其余放在后面 Sax采用事件驱动的方式解析文档。简单点说,如同在电影院看电影一样,从头到尾看一遍就完了,不能回退(Dom可来来回回读取) 在看电影的过程中...
摘选自:https://www.cnblogs.com/dolphin0520/p/3920373.htmlvolatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一...