java基础
java基础,萌新专属
monkey_wei
从学习java过渡到学习python,一如既往的菜,喜欢交友
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
序列化和反序列化的详解以及在java中的实现
一、基本概念1、序列化和反序列化的定义:Java序列化就是指把Java对象转换为字节序列的过程。Java反序列化就是指把字节序列恢复为Java对象的过程。序列化最重要的作用:在传递和保存对象时.保证对象的完整性和可传递性。对象转换为有序字节流,以便在网络上传输或者保存在本地文件中。反序列化的最重要的作用:根据字节流中保存的对象状态及描述信息,通过反序列化重建对象。总结:核心作用就是对象状态的保存和重建。(整个过程核心点就是字节流中所保存的对象状态及描述信息)2、json/xml的数据传递:原创 2020-08-28 10:47:17 · 510 阅读 · 0 评论 -
设计模式简要分析与举例(附全部代码)
设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式是代码可用性的延伸设计模式分类:创建型模式,结构型模式,行为型模式。其中设计模式主要有:代理模式,单例模式,工厂模式,观察者模式,装饰类模式。代理模式详见:JDK动态代理单例模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。意图:保证一个类仅有一个原创 2020-08-25 14:47:21 · 2475 阅读 · 0 评论 -
(手码四万余字)专门为大学生入门的Spring全面详解
Spring1、简介1.1 简介Spring : 春天 ————给软件行业带来了春天2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架。2004年3月24日,Spring框架以interface21框架为基础,经过重新设计,发布了1.0正式版。Spring理念 : 使现有技术更加实用 . 本身就是一个大杂烩 , 整合现有的框架技术Spring是一个轻量级的Java 开发框架,最根本的使命就是:解决企业级应用开发的复杂性,即简化Java开发。两个核心特性原创 2020-08-07 14:28:59 · 639 阅读 · 0 评论 -
专门为新手写的消息队列详解
什么是消息队列?我们可以把消息队列比作是一个存放消息的容器,当我们需要使用消息的时候可以取出消息供自己使用。消息队列是分布式系统中重要的组件,使用消息队列主要是为了通过异步处理提高系统性能和削峰、降低系统耦合性。目前使用较多的消息队列有ActiveMQ,RabbitMQ,Kafka,RocketMQ。另外,我们知道队列 Queue 是一种先进先出的数据结构,所以消费消息时也是按照顺序来消费的。比如生产者发送消息1,2,3…对于消费者就会按照1,2,3…的顺序来消费。但是偶尔也会出现消息被消费的顺序不对.转载 2020-07-28 09:56:20 · 275 阅读 · 0 评论 -
Java垃圾回收机制详谈
垃圾回收是在内存中存在没有引用的对象或者超过作用域的对象时进行的。垃圾回收的目的是识别并且丢弃应用不再使用的对象来释放和重用资源。垃圾回收机制中的算法Java语言规范没有明确的说明JVM使用哪一种垃圾回收算法,但是任何一种垃圾回收算法一般要做两件基本的事情:(1)、发现无用信息对象。(2)、回收无用对象占用的内存空间,是该控件可被程序再次使用。1、引用计数法引用计数法是垃圾收集器中的早期策略。在这种方法中,堆中每个对象实例都有一个引用计数。当一个对象被创建时,且将该对象实例分配给一个变量,该变量计原创 2020-06-22 10:54:33 · 286 阅读 · 0 评论 -
创建线程的四种方式
创建线程的四种方式:继承Thread类实现Runnable接口实现Callable接口使用Executors工具类创建线程池1、继承Thread类定义一个Thread类的子类,重写run方法,将相关逻辑实现,run()方法就是线程要执行的业务逻辑方法创建自定义的线程子类对象调用子类实例的star()方法来启动线程public class MyThread extends Thread { @Override public void run() {原创 2020-06-17 21:10:46 · 259 阅读 · 0 评论 -
并发编程的一些基本概念
并发编程的三要素:原子性:一个或多个操作要么全部执行成功要么全部执行失败。可见性:一个线程对共享变量的修改,另一个线程能够立即看到。有序性:程序执行的顺序按照代码的先后顺序执行。并发编程的优缺点:优点:充分利用多核CPU的计算能力,通过并发编程的形式可以将多核CPU的计算能力发挥到极致,性能得到提升。方便进行业务拆分,提高系统并发能力和性能。在特殊的业务场景下,先天就适合于并发编程。现在的系统动不动就要求百万级或者千万级的并发量,而多线程并发编程正是开发高并发系统的基础,利用好多线程机制原创 2020-06-15 22:03:33 · 363 阅读 · 0 评论 -
Java关键字浅析——final、static、this、super
在此之前,我们先来说一下访问修饰符:private:在同一类可见。default:在同一包可见,不使用任何修饰符。protected:对同一包的类和所有子类可见。public:对所有类可见final关键字用于修饰类、属性和方法;被final修饰的类不可以被继承。被final修饰的方法不可以被重写。被final修饰的变量不可以被改变,被final修饰不可变的是变量的引用,而不是引用指向的内容,引用指向的内容还是可以改变的。final,finally,firalize的区别:fi原创 2020-06-12 22:22:30 · 281 阅读 · 1 评论 -
SpringBoot对静态资源的映射规则(源码分析)
WebMvcAutoConfiguration的源码public void addResourceHandlers(ResourceHandlerRegistry registry) { if (!this.resourceProperties.isAddMappings()) { logger.debug("Default resource handling disabled"); } else {原创 2020-05-24 15:51:13 · 307 阅读 · 0 评论 -
SoringBoot日志详解
市场上的日志框架市场上的日志框架有很多,比如JUL,JCL,Jboss-logging,logback,log4j,log4j2,slf4j等。这些日志主要分为两个部分:日志门面(日志的抽象层):JCL,SLF4j,Jboss-logging日志实现:log4j,log4j2,logback,JUL而在SpringBoot中,最终我们会选择SLF4j和logback这样的组合。SLF4j的使用在日常开发的时候,日志记录方法的调用,不应该直接调用日志的实现类,而是调用日志抽象层里面的方法。原创 2020-05-24 09:39:07 · 374 阅读 · 0 评论 -
第一个简单的Spring Boot实例——Hello World
创建一个简单的Spring Boot项目。该项目的文件结构如下所示:1、创建一个maven工程。2、导入spring boot相关的依赖。pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:原创 2020-05-20 21:21:17 · 486 阅读 · 0 评论 -
Java的IO(输入输出)详谈——字节流
Java的IO流都是由四个抽象基类派生的:InputStream、OutputStream:字节流,传输二进制文件,比如音频、视频、图片等。Reader、Writer:字符流,传输文本文件。1.1 字节流在计算机中,所有的文件都能以二进制(字节)形式存在,Java的IO中针对字节传输操作提供了一系列的流,统称为字节流。字节流有两个抽象基类InputStream和OutputStream,分别处理字节流的输入输出,所有的字节输入流都继承自InputStream类,所有的字节输出流都继承自Ouypu原创 2020-05-15 20:06:47 · 391 阅读 · 0 评论 -
Java的IO(输入输出)详谈——字符流
Java还提供了字符流,用于操作字符。与字节流相似,字符流也有两个抽象基类,分别是Reader和Writer。Reader是字符输入流,用于从目标文件读取字符;Writer是字符输出流,用于向目标文件写入字符。其中FileReader和FileWriter是两个很常用的子类,FileReader类用来从文件中读取字符,操作文件的字符输入流。接下来用一个案例来说明:import java.io.File;import java.io.FileReader;import java.io.IOExcep原创 2020-05-15 20:45:07 · 246 阅读 · 0 评论
分享