自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ConstXiong

记录编程实践...

  • 博客(40)
  • 资源 (7)
  • 收藏
  • 关注

原创 什么是单例模式?有什么作用和特点?可以解决哪些问题?懒汉式和饿汉式的区别?如何保证线程安全?

单例模式:一个类只允许创建一个实例对象,并提供访问其唯一的对象的方式。这个类就是一个单例类,这种设计模式叫作单例模式。作用:避免频繁创建和销毁系统全局使用的对象。单例模式的特点:单例类只能有一个实例 单例类必须自己创建自己的唯一实例 单例类必须给所有其他对象提供这一实例的访问应用场景:全局唯一类,如 系统配置类、系统硬件资源访问类 序列号生成器 ...

2020-03-29 09:40:51 4797 5

原创 方法区内存溢出怎么处理?

在 Java 虚拟机中,方法区是可供各线程共享的运行时内存区域。在不同的 JDK 版本中,方法区中存储的数据是不一样的:JDK 1.7 之前的版本,运行时常量池是方法区的一个部分,同时方法区里面存储了类的元数据信息、静态变量、即时编译器编译后的代码等。 JDK 1.7 开始,JVM 已经将运行时常量池从方法区中移了出来,在 JVM 开辟了一块区域存放常量池。永久代就是 HotSp...

2020-03-29 09:39:58 1017

原创 对象创建过程是什么样的?

对象在 JVM 中的创建过程如下:JVM 会先去方法区找有没有所创建对象的类存在,有就可以创建对象了,没有则把该类加载到方法区 在创建类的对象时,首先会先去堆内存中分配空间 当空间分配完后,加载对象中所有的非静态成员变量到该空间下 所有的非静态成员变量加载完成之后,对所有的非静态成员进行默认初始化 所有的非静态成员默认初始化完成之后,调用相应的构造方法到栈中 在栈中执行构造函数时,先...

2020-03-29 09:39:04 616

原创 Java中类加载过程是什么样的?

类加载的步骤为,加载 -> 验证 -> 准备 -> 解析 -> 初始化。1、加载:获取类的二进制字节流 将字节流代表的静态存储结构转化为方法区运行时数据结构 在堆中生成class字节码对象2、验证:连接过程的第一步,确保 class 文件的字节流中的信息符合当前 JVM 的要求,不会危害 JVM 的安全3、准备:为类的静态变量分配内存并将其初始化为默认值...

2020-03-29 09:38:11 1288

原创 简单介绍下Java中垃圾回收机制

什么样的对象会被当做垃圾回收?当一个对象的地址没有变量去引用时,该对象就会成为垃圾对象,垃圾回收器在空闲的时候会对其进行内存清理回收如何检验对象是否被回收?可以重写 Object 类中的 finalize 方法,这个方法在垃圾收集器执行的时候,被收集器自动调用执行的怎样通知垃圾收集器回收对象?可以调用 System 类的静态方法 gc(),通知垃圾收集器去清理垃圾,但不能...

2020-03-29 09:37:18 275

原创 JVM中有哪几块内存空间?

JVM 中的内存空间包括:程序计数器:可以看作是当前线程所执行的字节码文件(class)的行号指示器,它会记录执行痕迹,是每个线程私有的 方法区:主要存储已被虚拟机加载的类的信息、常量、静态变量和即时编译器编译后的代码等数据,该区域是被线程共享的,很少发生垃圾回收 栈:栈是运行时创建的,是线程私有的,生命周期与线程相同,存储声明的变量 本地方法栈:为 native 方法服务,native...

2020-03-29 09:36:25 578

原创 什么是泛型?为什么要使用泛型?

泛型:"参数化类型",将类型由具体的类型参数化,把类型也定义成参数形式(称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。 是 JDK 5 中引入的一个新特性,提供了编译时类型安全监测机制,该机制允许程序员在编译时监测非法的类型。 泛型的本质是把参数的类型参数化,也就是所操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中。为什么要用泛型?使用泛型编写的...

2020-03-29 09:35:31 2128

原创 说说反射在你实际开发中的使用

反射使用不好,对性能影响比较,一般项目中很少直接使用。反射主要用于底层的框架中,Spring 中就大量使用了反射,比如:用 IoC 来注入和组装 bean 动态代理、面向切面、bean 对象中的方法替换与增强,也使用了反射 定义的注解,也是通过反射查找【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式 框架 算...

2020-03-28 09:49:05 919

原创 《Java8实战》读书笔记

为什么看这本书?在实际的开发过程,查资料经常会看到 ->、Stream 接口,第一次接触这些时,让我感到有些懵圈,这些都是什么玩法?-> 不是 JavaScript 里的语法糖吗?为了一探究竟,我查了相关内容,原来都是 Java 8 的新特性。那 Java 8 到底添加了哪些新特性?它们的用法和作用是什么?用起来爽不爽?在豆瓣上找到了这本 9.3 分的书,带着以上疑问就...

2020-03-27 08:04:13 215

原创 JDK8中Stream接口的常用方法

Stream 接口中的方法分为中间操作和终端操作,具体如下。中间操作:filter:过滤元素 map:映射,将元素转换成其他形式或提取信息 flatMap:扁平化流映射 limit:截断流,使其元素不超过给定数量 skip:跳过指定数量的元素 sorted:排序 distinct:去重终端操作:anyMatch:检查流中是否有一个元素能匹配给定的谓词 allMatch:...

2020-03-26 07:31:01 597

原创 Java中异常处理机制

Java 异常的结构Throwable--Error:是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题--Exception: --RuntimeException:运行时异常,编译通过了,但运行时出现的异常 --非 RuntimeException:编译时(受检)异常,编...

2020-03-26 07:30:09 157

原创 类的实例化方法调用顺序

类加载器实例化时进行的操作步骤:加载 -> 连接 -> 初始化父类静态代变量 父类静态代码块 子类静态变量 子类静态代码块 父类非静态变量(父类实例成员变量) 父类构造函数 子类非静态变量(子类实例成员变量) 子类构造函数【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式 框架 算法与数据结构...

2020-03-26 07:29:18 506

原创 搂一眼 Java 14 的新特性,提升下职业素养

估计很多人都跟我一样,Java 8 的新特性还没搞明白,这 Java 14 就发布了。学习节奏妥妥滴跟不上 Java 的版本更新...不用归不用,但是 Java 14 的新特性还是需要了解下的。跟同事在一起吃饭聊天的时候,也好装个逼。先看下 Oracle JDK 14 的更新说明:https://www.oracle.com/technetwork/java/javase/...

2020-03-24 20:51:22 356

原创 Oracle查看当前连接数、最大连接数、修改连接数

查看当前连接数select count(*) from v$process;允许的最大连接数select value from v$parameter where name = 'processes';修改最大连接数修改最大连接数alter system set processes = 300 scope = spfile;#停止shutdown imme...

2020-03-24 13:52:23 189

原创 查询Oracle版本

SELECT versionFROM product_component_versionWHERE substr(product, 1, 6) = 'Oracle';【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式 框架 算法与数据结构 异常 文件解析与生成 Linux MySQL Oracle...

2020-03-24 13:51:36 257

原创 Oracle查看表空间及大小

查看表空间的名称及大小SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size FROM dba_tablespaces t, dba_data_files d WHERE t.tablespace_name = d.tablespace_name GROUP BY t.tablespace_name...

2020-03-24 13:50:40 350

原创 excel快速插入一行或多行

选中一行或多行 右键-插入 快捷键 F4,重复之前的插入【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式 框架 算法与数据结构 异常 文件解析与生成 Linux MySQL Oracle Redis Dubbo...

2020-03-24 13:49:43 2340

原创 ConcurrentHashMap了解吗?说说实现原理。

HashMap 是线程不安全的,效率高;HashTable 是线程安全的,效率低。ConcurrentHashMap 可以做到既是线程安全的,同时也可以有很高的效率,得益于使用了分段锁。实现原理JDK 1.7:ConcurrentHashMap 是通过数组 + 链表实现,由 Segment 数组和 Segment 元素里对应多个 HashEntry 组成 value 和链表...

2020-03-22 10:40:16 444

原创 说一下HashMap的实现原理

HashMap 基于 Hash 算法实现,通过 put(key,value) 存储,get(key) 来获取 value 当传入 key 时,HashMap 会根据 key,调用 hash(Object key) 方法,计算出 hash 值,根据 hash 值将 value 保存在 Node 对象里,Node 对象保存在数组里 当计算出的 hash 值相同时,称之为 hash 冲突,HashM...

2020-03-21 22:36:17 6045

原创 List、Set和Map接口的特点与常用的实现类

List 和 Set 实现了 Collection 接口。List:允许重复的对象 可以插入多个 null 元素 是有序容器,保持了每个元素的插入顺序 常用的实现类有ArrayList、LinkedList 和 Vector。ArrayList,它提供了使用索引的随意访问,LinkedList 更合适经常添加或删除元素的场景Set:不允许重复对象 只允许一个 null...

2020-03-21 22:09:58 1374

原创 Oracle nlssort 函数

Oracle nlssort 函数:用来进行语言排序,且不影响当前会话。按字段的拼音排序:SELECT * FROM TABLE_NAME ORDER BY NLSSORT(排序字段,'NLS_SORT = SCHINESE_PINYIN_M')按字段的笔划排序:SELECT * FROM TABLE_NAME ORDER BY NLSSORT(排序字段,'NLS_SOR...

2020-03-20 08:17:07 1498

原创 Oracle的ROW_NUMBER() OVER()函数

ROW_NUMBER() OVER() 函数的作用:分组排序原理:row_number() over() 函数,over() 里的分组以及排序的执行晚于 where、group by、order by 的执行。语法:row_number() over( partition by 分组列 order by 排序列 desc )实践:建立学生数据表create tab...

2020-03-20 08:12:28 12188 1

原创 优雅地操作 List、Map

集合是 Java 中使用最多的 API,但在 Java 中集合操作却不像 SQL 语句那样简洁明了;想要用并行架构处理大量集合元素,也很困难。为了解决这个问题,Java 8 API 中添加了新的成员 -流(Stream)。它允许以声明性方式(即通过类似查询语句来表达,而不是编写一个实现类)处理数据集合;还可以不写任何多线程代码进行透明地并行处理。流的作用:从支持数据处理操作的源...

2020-03-18 21:56:41 528

原创 Map的遍历方式

Map 的 keySet() 方法,单纯拿到所有 Key 的 Set Map 的 values() 方法,单纯拿到所有值的 Collection keySet() 获取到 key 的 Set,遍历 Set 根据 key 找值(不推荐使用,效率比下面的方式低,原因是多出了根据 key 找值的消耗) 获取所有的键值对集合,迭代器遍历 获取所有的键值对集合,for 循环遍历【Jav...

2020-03-18 21:36:55 272

原创 数组与链表的区别

存取方式:数组可以顺序存取或者随机存取;链表只能顺序存取 存储位置:数组逻辑上相邻的元素在物理存储位置上也相邻;链表的物理存储位置不确定,一般是分散的 存储空间:链表由于带有指针域,存储密度不如数组大 按序号查找:数组可以随机访问,时间复杂度为 O(1);链表不支持随机访问,平均需要 O(n);  按值查找:若数组无序,数组和链表时间复杂度均为 O(n),当数组有序时,可以采用二分查找将时...

2020-03-18 21:36:04 216

原创 JDK8为什么要使用元空间取代永久代?

原因如下:字符串存在永久代中,容易出现性能问题和内存溢出 类及方法的信息等比较难确定其大小,因此对于永久代的大小指定比较困难,太小容易出现永久代溢出,太大则容易导致老年代溢出 永久代会为 GC 带来不必要的复杂度,并且回收效率偏低 将 HotSpot 与 JRockit 合二为一【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全...

2020-03-18 08:12:23 3200 2

原创 说一说你了解的Java内存区域

Java 虚拟机在执行 Java 程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java 虚拟机规范将 JVM 所管理的内存分为以下几个运行时数据区:程序计数器 Java 虚拟机栈 本地方法栈 Java 堆 元数据区JDK8 之前,Hotspot 中方法区的实现是永久代(Perm)JDK8 开始使用元空间(Metaspace),以前永久代所有内容的字符串常量移至...

2020-03-18 08:11:32 305

原创 Oracle中start with connect by的递归查询

语法:select … from tablenamestart with 条件1connect by 条件2where 条件3;通过这个语句,能查询出树状结构的数据条件1 是起始条件,限定树结构的起始节点 条件2 是连接条件,设置递归的条件 条件3 是过滤条件,对所有返回的数据进行过滤行政区划表 xzqh1、查南京市及以下的地区select DM, MC...

2020-03-18 08:10:19 530

原创 Oracle查询所有表及当前用户所有表

1、查询所有用户的表信息select * from all_tables;2、查询某用户名下的表信息,用户名参数必须大写select * from all_tables where owner = 'XXX';3、查询当前户名下的表名select table_name from user_tables;【Java面试题与答案】整理推荐基础...

2020-03-18 08:09:28 972

原创 《Hello First HTML 与 CSS 第2版》读书笔记

为什么看这本书?作为一个后端工程师,平时工作中遇到前端问题,去搜索各种资料,没有系统的学习前端知识,遇到一些较复杂的问题就束手无策,而且缺乏创造能力。所以正在重新学习前端知识,这是我看的第一本前端书籍。这本书的整体情况:700 多页,读起来很轻松。我花了三天不到的时间读完了。因为是 Hello First 系列的图书,一开始以为会很简单,结果看到 CSS 那部分知识...

2020-03-15 04:14:03 425

原创 从代码的改进,看参数行为化与Lambda

举一个简单的例子,看如何优化代码,从而更灵活地适应不断变化的需求。这是一个优秀的程序需要不断考虑的事情。这是水果的类代码package constxiong.interview;/** * 水果 * @author ConstXiong */class Fruit { private String type; private String color; pri...

2020-03-14 21:16:32 135

原创 Java8如何让自己的代码不那么啰嗦?!

Java 8 的新特性: Lamdba(匿名函数)、Stream(流)、接口新增了默认方法。这些改变会让你编程更容易,用不着再写一些啰嗦的代码。1、比如你想在 Java 代码中按水果对象的重量去排序这个集合/** * 水果 * @author ConstXiong * @date 2020-03-11 12:29:02 */class Fruit { private...

2020-03-12 08:12:45 247

原创 Java1.0-13各版本特性

不知道你有没有想过这些问题:为什么 JDK1.4 与 JDK 5.0 的命名规则不一样?JDK 8 增加了哪些新特性?现在最新的 Java 版本是多少?一直都是写业务代码,都没研究过 Java 的曾经与现在。为了提高下自己的职业素养,查了资料:JDK 1995 年 发布了 Beta 版,1996 年 1 月 发布了 1.0 版本,直到 2019 年 9 月发布了 JDK 13,J...

2020-03-10 08:04:48 579

原创 在mac的safari上调iphone上safari的js

在公司处理手机端上传附件的功能,发现了一个奇怪的现象:1、使用 android 手机超过限定文件大小,会过滤2、使用 iphone 6s超过限定文件大小,会过滤3、使用 iphone 8 和 iphone XS Max 不可以经过排查 iphone 8 不行的原因是,即使原图很大,但 iphone 8 会自动上传压缩后的图片。iphone XS Max 是通过使用...

2020-03-08 10:25:09 786

原创 ie8、ie9获取input文件大小

这两天看了 js 在 ie9 上的兼容性问题,发现 ie8、ie9 要获取 file 类型的 input 的文件大小,很麻烦。首先要 ie8、ie9 浏览器要开启对未标记的 ActiveX 控件和插件初始化并执行脚本,而这已经被 ie 标记为风险操作,也不推荐。操作如下:Internet选项 - 安全 - Internet - 自定义级别 - ActiveX控件和插件 - ...

2020-03-07 08:20:36 1853 1

原创 Java知识体系、面试、算法、微服务的学习资料

Java知识体系与面试https://github.com/Snailclimb/JavaGuideJava核心知识点,很全面https://github.com/CyC2018/CS-Notes基础知识、Leetcode、计算机操作系统、计算机网络、系统设计、Javahttps://github.com/doocs/advanced-java互联网 Java ...

2020-03-07 07:33:17 204

原创 PostgreSQL查询表名称和表结构

-- 查询所有表名称SELECT tablename FROM pg_tables;-- 查询所有视图名称SELECT viewname FROM pg_views;-- 查询某个表的表结构SELECT a.attnum,a.attname AS field,t.typname AS type,a.attlen AS length,a.atttypmod AS length...

2020-03-04 19:43:43 1082

原创 修改帆软报表toimage函数,支持https和无效ssl证书

帆软报表 8.0,使用自带的 toimage 函数,无法加载 https 协议和 ssl 证书无效的的图片,对其进行修改,代码如下:package com.fr.function;import java.awt.Color;import java.awt.Graphics2D;import java.awt.Image;import java.awt.image.BufferedI...

2020-03-04 19:42:52 1355

原创 数据结构与算法、设计模式从入门到精深的书籍推荐

代码写的越多,就越觉得基础的重要。数据结构与算法,设计模式就是编程基础里两大难啃的骨头,也都非常重要。​所以在极客时间上学习了两个专栏:《数据结构与算法之美》 《设计模式之美》分享一下专栏作者推荐的20 本相关书籍。数据结构与算法入门: 《大话数据结构》:理论讲得很有趣,不枯燥,每个数据结构和算法,作者都结合生活中的例子进行了讲解, 能让你有非...

2020-03-03 23:37:29 969 1

原创 从零开始开发、运营微信小程序的5点感受

我开发的微信小程序:Java面试题集转存失败重新上传取消访问的后台数据:转存失败重新上传取消从 2019 年 10 月份开始,使用业余时间去开发和运营它,内容取自博客上自答的 Java 面试题。做这件事的初衷:体验和学习一下当前比较火的小程序开发所需的技术栈 看到腾讯小程序广告平台在灰度开放时期,就有团队日入 200 万,遐想自己是不是也可以借助小...

2020-03-01 22:25:13 788

eclipse使用教程ppt

ppt版,eclipse的使用教程。简单介绍了eclipse的使用。

2018-09-03

Eclipse入门教程

eclipse的入门教程,介绍了如何使用eclipse开发java项目。

2018-08-31

JasperReport中文用户手册

JasperReport是一款开源报表引擎,用纯java编写。文档是对JasperReport的介绍。包含设计工具和模板文件等...

2018-08-30

无线wifi破解教程

简单介绍了wifi的工作原理。讲解了如何使用破解工具,搭建工作环境。使用字典破解wifi的密码。

2018-08-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除