自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(139)
  • 资源 (7)
  • 收藏
  • 关注

原创 java面试总结--2020-10,深圳

最近面试的常见问题总结:一.java集合:1.常见的集合类型有哪些2.ArrayList,LinkedList HashMap的底层原理3.jdk 1.8对hashMap的优化,以及如何hash冲突的原理以及是否可以避免hash冲突二:java虚拟机 1.描述java虚拟机的内存分布情况 2.常见的虚拟机的内存回收机制以及常见的java虚拟机 3.常见的内存异常有哪些以及你自己有使用过哪些Java命令来调试跟踪对应的java问题三:Spring系列1...

2020-10-22 14:06:46 256 2

原创 二:MyBatis的构成

一:MyBatis的基本构成 MyBatis的核心组件: SqlSessionFactoryBuilder(构造器):它会根据配置信息或者代码来生成SqlSessionFactory(工厂接口) SqlSessionFactory: 依靠工厂来生成SqlSession(会话) SqlSession:是一个既可以发送SQL去执行并返回结果,也可以获取Mapper的接口 SQL Mapper:它是MyBatis新设计的组件,它是由一个Java接口和XML文件...

2020-08-20 19:27:57 242

原创 一:MyBatis简单介绍

MyBatis简介一:传统的JDBC编程1.传统的JDBC编程的步骤: 创建连接,注册驱动和数据库信息 操作Connection,打开Statement对象 通过Statement执行SQL,返回结果到ResultSet对象 使用R...

2020-08-19 20:33:00 182

原创 为Java虚拟机编译

Java虚拟机是为了支持Java语音而设计的,Oracle的JDK包括两部分内容:一部分是将Java源代码编译成Java虚拟机的指令集的编译器,另一部分是用于Java虚拟机的运行时环境。2.1 示例的格式说明 本次的示例主要包括有源文件和Java虚拟机代码注解列表,其中Java虚拟机的代码注解列表是由Oracle的1.0.2版本的Jdk的javac编译器生成。Java虚拟机代码将使用Oracle的javap工具所生成的非正式的 虚拟机汇编语言的格式。格式如下: <index>...

2020-08-19 19:59:42 205

原创 java虚拟机数据结构

从本节开始学习Java虚拟机规范。1.1 Class文件格式 class文件格式是编译后被虚拟机所执行的代码。并且精确地定义了类和接口的表现形式。1.2 数据类型 java虚拟机可以操作的数据类型可以分为两类:原始类型(Primitive Types) 和引用类型(Reference Types).其中原始类型的值不需要通过特殊标记或者别的额外识别手段来在运行期间确定他们的实际数据类型,也无需可以将他们与引用类型的值区分开。虚拟机的字节码指令本身就可以确定他的指...

2020-08-13 09:07:34 251

原创 小记 获取dump文件

系统应用出现问题,可以采用查看dump文件来进行分析。常见的dump文件有heapdump,threaddump.hprofdump 等。其中threaddump很容易查看线程的阻塞等情况。hprofdump可以分析应用的对象是否内存泄漏等。举例在linux服务器上打hprofdump文件。首先找到对应的进程:ps -ef| grep java. 显示的进程号和java的目录。然后 在对应的java目录的bin 目录下看是否有jrcmd文件夹(一般会有)。最后,需要切换成对应...

2020-05-13 10:28:03 334

原创 项目接入redis

首先通俗的介绍下redis:可以把redis当做一个数据库,像mysql这样,只是存放的方式和地方不一样。 redis将数据存放在内存中,所有读取的速度肯定比mysql快。 同时redis的数据类型是key-value型。和Map<S...

2020-05-12 17:56:23 529

原创 小记开发遇到的问题

数据库问题一:oracle 对于时间的格式要求(显示 ORA 01810 格式化代码出现两次): 比如: insert into 属主.表明(login_time) values(to_date('yyyy-MM-dd HH24 :mm:ss')). 由于中不区分大小写,mm和MM无法区分,小写mm需要改为mi即可。配置问题:一:对于maven项目,编译的过程中...

2020-03-31 11:43:49 102

原创 Oracle大表分区(表大小超过2G)

背景:公司要求将数据库中表超过2G的表进行分区。刚好我们负责的表有5张大于2G的。所以需要进行表分区。所谓分区,讲的的通俗点,就是根据某个字段的范围进行划分,将表分成几块。以后查询,维护都更加方便。 比如可以根据创建时间,2018年的数据放入一个分区,以后每3年存入一个分区。实际环境:我负责的这个表,大小是12G作右,接近7千万条数据。因为这个表已经使用了很多年了,刚开始建表的时...

2019-11-23 17:20:18 2533

原创 基础排序(冒泡排序,选择排序和插入排序)

一些常见的排序方法,记录在此。(好记性不如烂笔头)一:冒泡排序法:    1.思路:第一次两两遍历所有的元素,找到最大的元素放置到最右边,第二次遍历(n-1)个。这样下来整个就是从小到大排列了。public void bubbleSort(int[]source){ for(int i=source.length-1;i&gt;0;i--){ for(int j=0;j&l...

2019-01-11 14:57:04 184

原创 java 二进制以及二进制运算

虽然现在很少用到二进制,可是一些源码中会经常遇到,比如://HashMap中的hash方法: static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h &gt;&gt;&gt; 16); }这里记录一些二进制知识。...

2019-01-09 23:02:50 1439 2

原创 常见sql 面试题

之前面试遇到一个sql题。当时没写出sql语句,把题目记下。现在分享给大家(知识贵在精,学会举一反三)。这里采用的是mysql.sql语句如下。DROP TABLE IF EXISTS `depart_month`;CREATE TABLE `depart_month` ( `id` int(11) NOT NULL AUTO_INCREMENT,//id自增长 `depa...

2019-01-09 19:22:44 1090 3

原创 对shiro的初步理解

Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。其中 SecurityManager是核心,相当于Spring MVC的前端控制器,起管家调度作用。        Subject可以理解为账户。来验证其是否合法或者权限。        Realms可以理解为数据源,即程序从Realm中拿数据来确认该用户时候是合法,权限等。Realm可以自...

2019-01-06 14:43:56 284 1

原创 LinkedList 源码 的理解

之前看了ArrayList。一般拿ArrayList和LinkedList进行比较。因为两者有很多相似,又有一些不同。相同:都是List类型(说了白说)。都可以进行存放对象。不同点:实现的接口有些差异,底层实现的原理不一样。ArrayList底层是靠数组实现的。LinkedList是链表结构。由一个个节点构成,每个节点连接有上下两个节点的信息。然后彼此连接成一种数据结构。有了这种大概印象,...

2019-01-05 20:30:16 195

原创 sql server的数据库的转移

前一段时间,客户的服务器经常出现问题,不得已得更换服务器,所以服务器上的sql server数据库同样需要进行转移。这里建议一个相对方便的方式。借助于sql server的工具,Management studio.工具下载地址:https://download.csdn.net/download/echohuangshihuxue/10898132首先选择需要转移的数据库右键选择第...

2019-01-05 19:14:10 530 2

原创 ArrayList 源码的理解

ArrayList是常用的集合.平时用的时候做了些笔记。一:首先看下ArrayList的继承基础:public class ArrayList&lt;E&gt; extends AbstractList&lt;E&gt; implements List&lt;E&gt;, RandomAccess, Cloneable, java.io.SerializableArr...

2019-01-04 21:10:42 157 1

原创 Collection集合的理解

由于数组的的大小是固定的,这个局限使得的实用性远远小于集合。所以现在聊聊集合类Collection.一:Collection是个接口。并且LIst和Set都是接口。并继承与Collection.其的关系如图下:其中List是允许有重复值的有序列表。所谓的有序是指你添加的顺序。Set是不允许重复的无序列表。所谓无序是指跟添加的顺序不一致。并且不允许重复。不重复原理和Map的key不允...

2019-01-03 17:36:53 446

原创 二分法查找

二分法经常用于有序数组中查找。不需要循环遍历。使得效率提高。面试经常会有考到。即每次查找都喝中间的数比较。小于中间数,就和前面一半比较。大于中间数就和后面一半比较/** * 查找元素(因为是有序,所以采用二分法查询) * 返回-1表示没有,返回其他Int值代表对应的位置(下标) * @param value * @return */ public int find(...

2019-01-02 23:18:53 158

原创 单例模式

单例模式主要解决该类只能实例一个对象的问题。是面试的常考点。自己慢慢看着其他人的博客,记录自己的学习点滴。package designPattern.single;import java.util.ArrayList;import java.util.List;import java.util.Random;/** * 单例模式:一个类只允许创建一个对象 * * 但...

2019-01-02 21:22:00 121

原创 HashMap的源码理解

HashMap是常用的集合。采用键值对方式存储.   此博客是基于jdk1.8分析的。  一:先看看HashMap的继承关系:public class HashMap&lt;K,V&gt; extends AbstractMap&lt;K,V&gt; implements Map&lt;K,V&gt;, Cloneable, Serializable {   1.继承Abst...

2018-11-11 00:14:02 254

原创 利用dom4j来生成xml

代码中经常有xml的配置,其实最终都需要解析成对象。然后封装成对象。比如spring的xml配置,源码都是解析xml.说到底xml比较常用,处理xml的方式也比较多。现在就聊聊如何用dom4j来生成xml吧 先看看效果。。。上传代码:/** * 生成xml * @param action * @param path */ private static void ...

2018-08-19 15:32:54 359

原创 java实现excel的生成,利用poi jar包实现excel的生成

利用工具就是站在牛人的肩膀上。现在看看利用poi jar包达成的效果吧内容给注释掉了,简单的实现了标题以及表格标题和内容的实现(包括不一样的格式) 直接上传代码吧/** * 生成excel 包括订单细节 * @param path excel路径(所在的目录) * @param ids id的字符串,用逗号隔开。 */ private static voi...

2018-08-19 14:44:09 5013

原创 ant jar包实现压缩文件和压缩文件夹

采用的是 ant-1.9.7jar包代码先上传:package cloud.prj.donson.imp.api;import java.io.*;import org.apache.tools.zip.ZipEntry;import org.apache.tools.zip.ZipOutputStream;public class ZipUtil {    //参数是文...

2018-08-19 14:15:24 807

原创 group by语句,join on ,left join on ,vue 的下拉框,按钮事件,方法的触发等。

    最近项目里要写报表,我写了5-6张报表,包括sql语句和页面表格(vue实现).业务不是很复杂。最多就关联7-8张表。前面有点捉急,vue的很多不会,慢慢的网上查查,问下前端。功能基本能实现(三个功能)1.查询,2.选择条件(比如时间,部门,订单等)来查询3.导出信息。这里分享下最近一些知识点。首先说下sql语句。看到一个需求,第一,要将需求分解。在多个字段中(如果是多张表)找到一个主...

2018-08-11 16:39:43 442

原创 条形码的打印,pdf打印条形码

条形码的打印效果如下图: 想实现上面的这种打印输出(内容可以自己设定),大概需要三大步。 第一步:选择jar包(其实实现条形码可以有多个方式,这里讲述下我最熟悉的);采用barcode4j这个jar包。第二步:采用barcode4j来生成image流,即生成条形码。这个是核心步骤。下面我就来具体来说说这个步骤。废话不多说,先上传  这个方法吧。(可能写的不够简洁,但能实现基...

2018-07-23 17:39:36 2765 1

转载 tomcat配置文件的详解。比如配置端口号,配置连接等。

这是一篇很不错的文章。推荐给大家。网址:  https://www.cnblogs.com/kismetv/p/7228274.html

2018-07-06 22:36:13 774

原创 svn的一些基本操作。比如下载项目,更新,提交,比对等,同时还有就是在myeclipse上的操作。

虽然现在有用git等工具,但我还是比较习惯svn。觉得它还是比较好用的。现在我就分享一些常用技巧吧。欢迎大家一起讨论。首先是安装svn.我说的是安装客户端(小乌龟图标)。安装完后随便找个文件夹空白处右键,就会出现TortoiseSvn等图标。说明客户端安装就成功了。然后说下svn的几个常见操作吧。   1.checkOut(检出):将svn库的东西拷贝下来。比如你们java代码存储...

2018-07-06 20:52:24 3697

原创 使用npm命令来导包,npm命令来build项目(前后端分离)

现在很多前端项目采用node.js,npm来管理项目。所以呢,一些基本的操作还是要懂些。像我们公司的前端基本用vue来开发。然后采用node.js和npm来管理。前端工具webstorm,后端开发myeclipse.比如从svn checkout下来一份代码后,java代码用myeclipse导入,选择.gradle项目,这里不再叙述。      前端代码用webStorm导入,但是需...

2018-07-05 21:33:09 21950

原创 如何正确导入.gradle项目

前言:目前很多公司的项目都采用.gradle。所以你也必须学会如何导入.gradle项目,大致了解一些。接触过一些项目之后。我把自己的一些总结写出来分享给大家。 第一:得下载gradle.比如下载3.2.1版本(我用的),下载地址:https://download.csdn.net/my  我的博客地址有。第二:配置环境变量。主要是在path里添加下路径即可。第三:打开myec...

2018-07-05 13:10:53 10546

原创 如何解决tomcat服务器不能选择项目问题

      首先我自己在平时导入项目的时候遇到过几次,每次都话费很长的时间。现在有机会把解决方法给大家分享下。   我的情况是:导入项目后,tomcat添加项目时没有该项目选择。   据网上搜索:这是因为该项目不是web项目。解决办法:选择该项目,右键--properties---myEclipse--Project Facets.  看到如下界面,勾选即可。然后再用tomcat选择项...

2018-07-05 12:53:34 1770

原创 java输出pdf(pdfptable和pdftcell)

    介绍:由于pdf在java端的实现的需求最近挺多的,自己又实现了两个pdf打印功能。熟悉了一些方法和技巧。希望能记录下来。能给有需要的朋友一个参考。欢迎大家一起探讨。。。。先把实现结果给大家展示下,由于涉及到隐私,所以内容去掉。 一:写pdf输出,主要是涉及到PdfpTable  和PdfPCell两个类。看名字就很容易理解。前面一个是一个表格,后面的是表格单元。当然了...

2018-07-01 16:58:57 18389 5

原创 浏览器工作原理与实践--HTTPS:浏览器如何验证数字证书

好了,今天的内容就介绍到这里,下面我们总结下本文的主要内容:我们先回顾了数字证书的申请流程,接着我们重点介绍了浏览器是如何验证数字证书的。首先浏览器需要CA的数字证书才能验证极客时间的数字证书,接下来我们需要验证CA证书的合法性,最简单的方法是将CA证书内置在操作系统中。

2024-04-23 09:32:33 1004

原创 浏览器工作原理与实践--性能分析工具:如何分析Performance中的Main指标

本文主要的目的是让我们学会如何分析Main指标。通过页面加载过程的分析,就能掌握一套标准的分析Main指标的方法,在该方法中,我将加载过程划分为三个阶段:导航阶段;解析HTML文件阶段;生成位图阶段。在导航流程中,主要是处理响应头的数据,并执行一些老页面退出之前的清理操作。在解析HTML数据阶段,主要是解析HTML数据、解析CSS数据、执行JavaScript来生成DOM和CSSOM。

2024-04-22 09:49:19 765

原创 浏览器工作原理与实践--页面性能工具:如何使用Performance?

好了,本节内容就介绍到这里,下面我来总结下本文的主要内容:本节我们首先介绍了如何去配置Performance并生成报告页,然后我们将焦点放在了如何解读报告页上。之后我们介绍了报告页面主要分为三个部分,概览面板、性能面板和详情面板。我们可以通过概览面板来定位问题的时间节点,然后再使用性能面板分析该时间节点内的性能数据。不过在分析数据时,我们需要弄明白性能面板内各项数据指标的含义,要了解这些,需要了解浏览器渲染流水线、浏览器的进程架构等知识点,因此结合这些知识点,我们接下来分析了性能面板的各项指标的含义。

2024-04-22 09:45:18 550

原创 MySql实战--count(*)这么慢,我该怎么办

在开发系统的时候,你可能经常需要计算一个表的行数,比如一个交易系统的所有变更记录总数。这时候你可能会想,一条select count(*) from t 语句不就解决了吗?但是,你会发现随着系统中记录数越来越多,这条语句执行得也会越来越慢。然后你可能就想了,MySQL怎么这么笨啊,记个总数,每次要查的时候直接读出来,不就好了吗。那么今天,我们就来聊聊count(*)语句到底是怎样实现的,以及MySQL为什么会这么实现。

2024-04-19 13:58:33 872

原创 浏览器工作原理与实践--加载阶段性能:使用Audits来优化Web性能

我们看下wiki对Web 性能的定义Web 性能描述了Web应用在浏览器上的加载和显示的速度。因此,当我们讨论Web性能时,其实就是讨论Web应用速度,关于Web应用的速度,我们需要从两个阶段来考虑:页面加载阶段;页面交互阶段。在本文中,我们会将焦点放到第一个阶段:页面加载阶段的性能,在下篇文章中,我们会来重点分析页面交互阶段的性能。好了,今天的内容就介绍到这里,下面我来总结下本文的主要内容:本文我们主要讨论如何优化加载阶段的Web应用的性能。

2024-04-19 10:29:46 700

原创 浏览器工作原理与实践--任务调度:有了setTimeOut,为什么还要使用rAF

好了,本节的内容就介绍到这里,下面我来总结下本文的主要内容:首先我们分析了基于单消息队列会引起队头阻塞的问题,为了解决队头阻塞问题,我们引入了多个不同优级的消息队列,并将紧急的任务添加到高优先级队列,不过大多数任务需要保持其相对执行顺序,如果将用户输入的消息或者合成消息添加进多个不同优先级的队列中,那么这种任务的相对执行顺序就会被打乱,所以我们又迭代了第二个版本。

2024-04-18 09:48:55 834

原创 浏览器工作原理与实践--浏览上下文组:如何计算Chrome中渲染进程的个数

好了,本节的内容就介绍到这里,下面我来总结下本文的主要内容:首先我们使用了两种不同的方式打开两个标签页,第一种是从A标签页中通过链接打开了B标签页,第二种是分别打开A和B标签页,这两种情况下的A和B都属于同一站点。通过Chrome的任务管理器我们发现,虽然A标签页和B标签页都属于同一站点,不过通过第一种方式打开的A标签页和B标签页会共用同一个渲染进程,而通过第二种方式打开的两个标签页却分别使用了两个不同的渲染进程。

2024-04-18 09:43:46 988

原创 浏览器工作原理与实践--HTTPS:让数据传输更安全

好了,今天就介绍到这里,下面我来总结下本文的主要内容。由于HTTP的明文传输特性,在传输过程中的每一个环节,数据都有可能被窃取或者篡改,这倒逼着我们需要引入加密机制。于是我们在HTTP协议栈的TCP和HTTP层之间插入了一个安全层,负责数据的加密和解密操作。我们使用对称加密实现了安全层,但是由于对称加密的密钥需要明文传输,所以我们又将对称加密改造成了非对称加密。

2024-04-17 10:13:29 1281

原创 浏览器工作原理与实践--安全沙箱:页面和系统之间的隔离墙

好了,今天的内容就介绍到这里,下面我来总结下本文的主要内容。首先我们分析了单进程浏览器在系统安全方面的不足,如果浏览器存在漏洞,那么黑客就有机会通过页面对系统发起攻击。因此在设计现代浏览器的体系架构时,就考虑到这个问题了。于是,在多进程的基础之上引入了安全沙箱,有了安全沙箱,就可以将操作系统和渲染进程进行隔离,这样即便渲染进程由于漏洞被攻击,也不会影响到操作系统的。

2024-04-17 10:11:37 1060

2.5.0-proto.exe和对应的maven依赖

利用proto.exe 将.proto 文件编译成java文件。 里面还有对应版本的maven依赖和 proto.exe 操作命。非常详细的教程

2023-01-09

netAssist. 模拟工具

tcp客户端和服务端模拟工具。超方便

2022-12-17

sql server Management studio

压缩文件,解压即可安装使用。是使用sql server 的最佳工具。

2019-01-05

xshell和xftp 免费稳定版本

该资源是xshell 5 免费稳定版本。带有配套的xftp.解压安装即可使用。

2018-08-22

poi jar 轻松实现excel的生成自定义格式

采用该jar包轻松实现excel的生成。自定义excel的格式,代码量相对比较简洁 查看如何实现excel网址:https://blog.csdn.net/echohuangshihuxue/article/details/81837771

2018-08-19

ant-1.9.7jar包 java实现压缩文件文件夹

下载即可导入实现压缩文件夹和文件。 代码实现请看下面网址: https://blog.csdn.net/echohuangshihuxue/article/details/81837591

2018-08-19

barcode4j条形码打印+代码网址讲解

添加该jar包后就可以实现条形码的打印,如果有不懂的地方可以在我博客中查看,有专门的讲解

2018-07-23

gradle压缩包,3.2.1版本

下载后,解压出来,配置环境变量。即可使用了。使用方法: 可以参考我的博客

2018-07-05

pdfp打印所需jar包

pdf打印功能,导入该jar就可以轻松实现pdf打印了,如需了解该怎么操作,可以转到 https://blog.csdn.net/echohuangshihuxue/article/details/80876434

2018-07-05

空空如也

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

TA关注的人

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