- 博客(13)
- 资源 (5)
- 收藏
- 关注
原创 Java 基础篇之线程池
Java 基础篇之线程池线程池的主要工作流程是什么?核心代码:ThreadPoolExecutor类public void execute(Runnable command) { //如果任务为null,抛出空指针异常 if (command == null) throw new NullPointerException(); /* * Proceed in 3 steps: * * 1. If few
2021-09-06 00:48:51 187
原创 java 并发开发之AQS
java 并发开发之AQSAQS 是什么,有什么作用?① 是什么:AQS 是抽象队列同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖它② 有什么作用:为Java的并发同步组件提供统一的底层支持,ReentrantLock、Semaphore、CountDownLatch等AQS 的原理AQS 的实现依赖FIFO双向队列(CLH队列锁的变体)和 volatile的state变量(共享资源状态)如果当前线程竞争失败,AQS会把当前线程及等待信息(Node节点)
2021-09-05 22:21:02 207
原创 Java 基础篇之ConcurrentHashMap
Java 基础篇之 ConcurrentHashMapjdk1.7和jdk1.8的ConcurrentHashMap底层数据结构jdk1.7:由一个Segment数组和多个HashEntry组成Segment数组就是将一个大的table分割成多个小的table来进行加锁(分段锁思想,继承ReentrantLock),而每一个Segment元素存储的时HashEntry数组。jdk1.8:废弃了Segment,采用Node数组+链表+红黑树的数据结构来实现jdk1.7和jdk1.
2021-09-05 21:00:50 243
原创 Java 基础篇之Java HashMap
Java 基础篇之 Java HashMapjdk1.7 和 jdk1.8 的HashMap的底层数据结构jdk1.7:数组、链表jdk1.8:数组、链表、红黑树数组的特点:查询的效率高,插入、删除的效率低链表的特点:查询的效率低,插入、删除的效率高HashMap 使用两者的结构,使得查询和插入、删除效率都很高,jdk1.8引入红黑树解决链表过长效率低的问题。????思考:为什么初始不使用红黑树?(空间和时间的考虑)HashMap 的初始容量,加载因子初始容量:16加载因子:
2021-09-04 21:58:46 167
原创 Java 基础篇之Java String
Java 基础篇之Java String三大核心特性① 不变性:是一个immutable模式的对象,不变模式的主要作用是当一个对象被多线程共享并频繁访问时,保证数据的一致性。immutable模式:是一种持久化数据,一旦创建就不会被修改,修改也直接返回新的immutable,原数据不会发生变化。原理:因为深拷贝对性能的消耗太大了(用到了递归,逐层拷贝每个节点),但当你使用immutable数据的时候只会拷贝你改变的节点,从而达到了节省性能。② 常量池优化:String对象创建之后,会在字符
2021-09-04 18:51:41 109
原创 MyBatis 开发详解
Mybatis是什么—基于Java的持久层框架 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。 iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层...
2018-02-23 13:47:01 346
转载 Spring 两大核心IOC和AOP详解
Spring 两大核心IOC和AOP详解Spring的核心特性就是IOC和AOPIOC(Inversion of Control),即“控制反转”;AOP(Aspect-OrientedProgramming),即“面向切面编程”。 IOC:另外一种说法叫DI(Dependency Injection),即依赖注入。它并不是一种技术实现,而是一种设计思想。在任何一个有实际...
2018-02-23 11:55:41 1140
原创 使用Apache POI 进行Excel报表的导出下载(GET 请求 && POST请求)
简介:之前项目有这样的需求:按各种条件进行筛选数据,然后导出Excel到本地针对条件条件很少的情况下,使用的是GET请求的方式,直接在URL上拼接请求参数,这种形式很简单就能导出Excel。但是当条件很多很复杂时,就不适合使用GET请求的方式了,所以我使用了POST请求的方式,在这其中遇到了各种问题,估计大家也可能遇见到了。遇到问题:请求数据传递正确,数据获取正确,Excel构建也没...
2018-02-08 14:29:31 4931 1
原创 搭建SVN服务器详细教程
搭建SVN服务器详细教程本教程会从最基本的下载安装到上传代码,下载代码这条线来详细讲述如何完成SVN服务器的搭建下载并安装VisualSVN server下载并安装TortoiseSVN导入项目创建用户组和用户设置权限检出项目下载并安装VisualSVN server下载VisualSVN server 下载地址:https://www.visualsvn.com/serve
2017-03-05 14:51:10 128716 14
原创 log4j--日志组件的配置详解
概念: Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录。可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。使用环境: 我使用的是log4j-1.2.16这个版本 [附件:log
2016-09-25 19:52:49 600
原创 数据库的连接JDBC
JDBC是什么JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。有了JDBC,向各种关系数据发送SQL语句就是一件很容易的
2016-09-25 15:36:44 1155
Java编码规范【简易版】.pdf
2021-12-28
Navicat_Premium_11.0.10.rar
2019-08-26
日本IT行业软件开发文档模板.rar
2019-08-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人