
Java
文章平均质量分 92
廿半
这个作者很懒,什么都没留下…
展开
-
SpringBoot+Mybatis+Mysql项目构建
概述近期朋友有简单的web开发需求,半学半做地采用前后端分离的方式,快速学习并搭建了一个网站,前端使用的技术是boostrap和jquery,后端使用的技术是SpringBoot+Mybatis,数据库采用的是mysql,在此将后端的搭建过程记录下来并创建了一个git项目。该项目可以当做一个脚手架,以后需要搭建web项目的时候可以直接使用,只需要更改业务逻辑,不需要再进行复杂的配置。具体流程1、新建Project,选择使用Spring Initializr进行项目构建。(Spring版本为2.3.0)原创 2020-06-07 20:36:32 · 681 阅读 · 0 评论 -
多线程问题——轮流打印、死锁、读写锁实现
概述最近阅读了《Java高并发实战》一书,也了解了一些多线程方面的知识,但是一直没有尝试过写Coding。毕竟纸上得来终觉浅,因此通过本篇文章,对多个线程轮流打印、死锁、读写锁的实现问题进行总结,算是对多线程的一种巩固。主要涉及到的知识点就是synchronized锁和wait、notify线程通信机制。线程轮流打印问题描述给定三个线程,代码的逻辑顺序是A->B->C,每个线程...原创 2020-04-02 11:28:14 · 780 阅读 · 0 评论 -
理解Java内存模型
概述一直以来总是把Java内存模型当成JVM运行时数据区域,但是现在发现并不是这样的。JVM运行时数据区域是在Java程序运行时的内存区域的划分,例如堆、虚拟机栈、方法区之类,而Java内存模型是用来屏蔽Java程序在不同操作系统上对内存进行访问的差异性,也就是使得Java在不同的平台上访问内存具有一致性,这也是Java具备跨平台能力的基础。Java内存模型其实就是一种规范,它会对程序中变量的访...原创 2020-02-18 11:11:02 · 464 阅读 · 1 评论 -
JsonObject和Gson的使用
JSON(JavaScript Object Notation, JavaScript 对象标记语言) 是一种轻量级的数据交换格式。在 JS 语言中,一切都是对象。因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。 JSON 与 JS 对象的关系:JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。如://这是一个对...原创 2017-04-20 16:24:37 · 3073 阅读 · 0 评论 -
Java IO之字节流与字符流操作
Java中的流Java中的字节流 InputStream是所有用于操作字节输入流的祖先类, OutputStream是所有用于操作字节输入流的祖先类,主要用来处理字节或二进制对象。Java中的字符流 Reader用于读取字符输入流的祖先类,Writer是用于写入字符输出流的祖先类。它们的子类都需要实现read(或write)、flush和close方法,并通过重写若干方法提供更高效和多...原创 2018-08-27 10:40:21 · 1607 阅读 · 0 评论 -
volatile和synchronized的区别
概述在Java中,为了在多线程环境读写数据时保证数据的一致性,可以采用两种方式:线程同步和使用volatile关键字。线程同步资源共享的两个原因是资源紧缺和共建需求。线程共享CPU是从资源紧缺的维度考虑,而多线程共享变量通常是从共建需求的维度考虑的。在多个线程对同一个变量进行写操作时,如果操作没有原子性,就可能产生脏数据。所谓原子性操作,便是一系列不可分割的操作指令,要么全部执行,要么全部都...原创 2018-11-18 15:56:01 · 2104 阅读 · 0 评论