自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 资源 (2)
  • 收藏
  • 关注

原创 JVM笔记9:对象的实例化内存布局与访问定位

1、对象的实例化 美团: 对象在了VM中是怎么存储的? 对象头信息里面有哪些东西? 蚂蚁金服: 二面: java对象头里有什么1.判断对象对应的类是否加载、链接、初始化虚拟机遇到一条new指令,首先去检查这个指令的参数能否在Metaspace的常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载、解析和初始化。(即判断类元信息是否存在)。如果没有,那么在双亲委派模式下,使用当前类加载器以ClassLoader+包名+类名...

2020-12-11 10:26:31 160

原创 JVM笔记8:方法区

1、栈、堆、方法区的交互关系从线程共享与否的角度来看2、方法区的理解官方文档《Java虚拟机规范》中明确说眀:尽管所有的方法区在逻辑上是属于堆的一部分,但些简单的实现可能不会选择去进行垃圾收集或者进行压缩。”但对于 HotspotJVM而言,方法区还有一个别名叫做Non-Heap(非堆),目的就是要和堆分开所以,方法区看作是一块独立于Java堆的内存空间。方法区( Method area)与Java堆一样,是各个线程共享的内存区域方法区在JVM启动的时候被创建,

2020-12-07 20:32:50 249

原创 JVM笔记7:堆

目录1、堆的核心概述java7和java8对比2、设置堆内存大小与OOM设置堆内存大小默认情况下Out0fMemory举例3、年轻代与老年代存储在JVM中的Java对象可以被划分为两类:配置新生代与老年代在堆结构的占比4、图解对象分配过程总结:对象分配的特殊过程JVisualVM演示常用调优工具5、Minor GC、 Major GC 与Full GC年轻代GC( Minor GC)触发机制:老年代GC( Major GC/Full GC)

2020-12-06 19:18:12 293

原创 JVM笔记6:本地方法接口和栈

目录1、什么是本地方法?2、为什么要使用Native Method?3、现状1、什么是本地方法?简单地讲,一个Native Method就是一个Java调用非Java代码的接口。一个Native Method是这样一个Java方法:该方法的实现由非Java语言实现,比如c。这个特征并非Java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调用一个c的函数。 "A native method is a Java method wh

2020-12-04 11:05:16 112

原创 JVM笔记5:虚拟机栈

1、虚拟机主要特点虚拟机栈出现的背景由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。初步印象有不少Java开发人员一提到Java内存结构,就会非常粗粒度地将JVM中的内存区理解为仅有Java堆(heap) 和Java栈(stack)?为什么?...

2020-12-03 23:11:16 152

原创 JVM笔记4:程序计数器

1、PC寄存器概述官方文档https://docs.oracle.com/javase/specs/jvms/se8/html/JVM中的程序计数寄存器(Program Counter Regi ster) 中,Register 的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能够运行。这里,并非是广义上所指的物理寄存器,或许将其翻译为PC计数器(或指令计数器)会更加贴切(也称为程序钩子),并且也不容易引起一些不必要的误会。JVM中的PC寄存器是对物..

2020-11-26 16:19:07 100

原创 JVM笔记3:运行时数据区概述及线程

1、运行时数据区内部结构内存是非常重要的系统资源,是硬盘和CPU 的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。JVM内存布局规定了Java在运行过程中内存申请、分配、管理的策略,保证了 JVM的高效稳定运行。不同的JVM对于内存的划分方式和管理机制存在着部分差异。结合JVM虚拟机规范,来探讨一下经典的JVM内存布局。Java虚拟机定义了若千种程序运行期间会使用到的运行时数据区,其中有一些会随着虚拟机启动而创建,随着虚拟机退出而销毁。另外一些则是与线程一一对应的,这些与线程

2020-11-26 15:28:31 107

原创 JVM笔记2:类加载子系统

1、内存结构概述2、类的加载器及类加载过程 类加载器子系统负责从文件系统或者网络中加载Class文件,class文件在文件开头有特定的文件标识。 ClassLoader只负责class文件的加载,至于它是否可以运行,则由Executior Engine决定。 加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中还会存放运行时常量池信息,可能还包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射)eg:...

2020-11-26 12:35:37 154

原创 JVM笔记1:JVM与Java体系架构

目录1、jvm位置2、jvm整体结构3、java执行流程4、JVM的架构模型基于栈式架构的特点基于寄存器架构的特点总结:5、JVM的生命周期虚拟机启动虚拟机执行虚拟机的退出6、JVM发展历程Sun Classic VMExact VMSUN公司的HotSpot VMBEA 的JRockitIBM 的J9KVM和CDC/CLDC HotspotAzul VMLiquid VMApache HarmonyMicroso.

2020-11-25 15:33:38 282

原创 项目面试题5:消息队列

消息队列在项目中的使用背景:在分布式系统中是如何处理高并发的。 由于在高并发的环境下,来不及同步处理用户发送的请求,则会导致请求发生阻塞。比如说,大量的insert,update之类的请求同时到达数据库MYSQL,直接导致无数的行锁表锁,甚至会导致请求堆积很多。从而触发 too many connections 错误。使用消息队列可以解决【异步通信】1、异步2、并行3、排队消息队列电商使用场景:消息队列的弊端: 消息的不确定性:延迟队列,...

2020-11-21 09:44:10 90

原创 项目面试题4:购物车

购物车实现过程购物车:购物车跟用户的关系? 一个用户必须对应一个购物车【一个用户不管买多少商品,都会存在属于自己的购物车中。】 单点登录一定在购物车之前。 跟购物车有关的操作有哪些? 添加购物车 用户未登录状态 添加到什么地方?未登录将数据保存到什么地方? Redis? --- 京东 Cookie? --- 自己开发项目的时候【如果浏览器禁用cookie】 用户登录状态 Redis 缓存中 【读写速度快】 Hash :

2020-11-21 09:43:45 2670 1

原创 项目面试题3:单点登录

单点登录实现过程单点登录:一处登录多处使用!前提:单点登录多使用在分布式系统中。Demo:参观动物园流程:检票员=认证中心模块我直接带着大家进动物园,则会被检票员拦住【看我们是否有门票】,没有[售票处买票]登录=买票我去买票【带着票,带着大家一起准备进入动物园】检票员check【有票】Token=piao我们手中有票就可以任意观赏动物的每处景点。京东:单点登录,是将token放入到cookie中的。 案例:将浏览器的cookie禁用,则在登录京东则失...

2020-11-21 09:43:15 632

原创 项目面试题2:es与solr的区别

背景:它们都是基于Lucene搜索服务器基础之上开发,一款优秀的,高性能的企业级搜索服务器。【是因为他们都是基于分词技术构建的倒排索引的方式进行查询】开发语言:java语言开发诞生时间:Solr :2004年诞生。Es:2010年诞生。Es 更新【功能越强大】区别:当实时建立索引的时候,solr会产生io阻塞,而es则不会,es查询性能要高于solr。 在不断动态添加数据的时候,solr的检索效率会变的低下,而es则没有什么变化。 Solr利用zookeeper进行分布式管理

2020-11-21 09:42:49 304

原创 项目面试题1:redis 在项目中的使用场景

数据类型 使用场景 String 比如说 ,我想知道什么时候封锁一个IP地址。Incrby命令 Hash 存储用户信息【id,name,age】 Hset(key,field,value) Hset(userKey,id,101) Hset(userKey,name,admin) Hset(userKey,age,23) ----修改案例---- ...

2020-11-21 09:42:08 912 1

原创 Java高级5:JVM垃圾回收机制

jvm分区4大算法1、引用计数算法2、复制算法3、标记清除4、标记压缩5、标记-清除-压缩

2020-11-21 09:41:24 82

原创 Java高级4:Mysql什么时候建索引

索引是什么?MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。可以得到索引的本质:索引是数据结构。优势类似大学图书馆建书目索引,提高数据检索的效率,降低数据库的IO成本 通过索引列对数据进行排序,降低数据排序的成本,降低了CPU的消耗劣势实际上索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录,所以索引列也是要占用空间的 虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表

2020-11-21 09:40:59 90

原创 Java高级3:redis持久化

Redis提供了两种不同形式的持久化方式RDB(Redis DataBase) AOF (Append OF File)RDBAOF

2020-11-20 17:50:16 111

原创 Java高级2:git分支相关命令

2020-11-20 17:43:43 63

原创 Java高级1:Linux常用服务类相关命令

2020-11-20 17:40:43 94

原创 SSM面试题5:MyBatis中当实体类中的属性名和表中的字段名不一样 ,怎么办 ?

1.MyBatis中当实体类中的属性名和表中的字段名不一样 ,怎么办 ?解决方案: * 1.写sql语句时起别名 * 2.在MyBatis的全局配置文件中开启驼峰命名规则 * 3.在Mapper映射文件中使用resultMap来自定义映射规则<select id="getEmployeeById" resulType="com.xx.entities.Employee"> select last_name as lastName...

2020-11-20 17:31:53 220

原创 SSM面试题4:简单的谈一下SpringMVC的工作流程

1.简单的谈一下SpringMVC的工作流程//处理模型数据方式一:将方法的返回值设置为ModelAndView @RequestMapping("/testModelAndView") public ModelAndView testModelAndView() { //1.创建ModelAndView对象 ModelAndView mav = new ModelAndView(); //2.设置模型数据,最终会放到request域中 mav.addObject("user",

2020-11-20 17:25:00 123

原创 SSM面试题3:SpringMVC中如何解决POST请求中文乱码问题和GET请求中文乱码问题

1.SpringMVC中如何解决POST请求中文乱码问题,GET的又如何处理呢POST:web.xml中添加过滤器 <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <

2020-11-20 17:18:32 220

原创 SSM面试题2:Spring支持的常用数据库事务传播属性和事务隔离级别

1.请简单介绍Spring支持的常用数据库事务传播属性和事务隔离级别?事务的属性: * 1.★propagation:用来设置事务的传播行为 * 事务的传播行为:一个方法运行在了一个开启了事务的方法中时,当前方法是使用原来的事务还是开启一个新的事务 * -Propagation.REQUIRED:默认值,使用原来的事务 * -Propagation.REQUIRES_NEW:将原来的事务挂起,开启一个新的事务...

2020-11-20 17:08:24 163

原创 SSM面试题1:Spring Bean的作用域之间有什么区别

<!-- ★bean的作用域 可以通过scope属性来指定bean的作用域 -singleton:默认值。当IOC容器一创建就会创建bean的实例,而且是单例的,每次得到的都是同一个 -prototype:原型的。当IOC容器一创建不再实例化该bean,每次调用getBean方法时再实例化该bean,而且每调用一次创建一个对象 -request:每次请求实例化一个bean -session:在一次会话中共享一个bean --> <bean id="bo..

2020-11-20 15:49:38 170

原创 JavaSE面试题6:成员变量与局部变量

1、就近原则2、变量的分类成员变量:类变量、实例变量 局部变量3、非静态代码块的执行:每次创建实例对象都会执行4、方法的调用规则:调用一次执行一次局部变量与成员变量的区别:当局部变量与xx变量重名时,如何区分:...

2020-11-20 15:36:32 140

原创 JavaSE面试题05:递归与迭代

编程题:有n步台阶,一次只能上1步或2步,共有多少种走法?1.递归2.循环迭代递归 //实现f(n):求n步台阶,一共有几种走法 public int f(int n){ if(n<1){ throw new IllegalArgumentException(n + "不能小于1"); } if(n==1 || n==2){ return n; } return f(n-2) + f(n-1); }循环迭代...

2020-11-20 15:22:32 129

原创 JavaSE面试题04:方法的参数传递机制

方法的参数传递机制:①形参是基本数据类型传递数据值②实参是引用数据类型传递地址值 特殊的类型:String、包装类等对象不可变性

2020-11-19 22:08:03 100

原创 JavaSE面试题03:类初始化和实例初始化等

1、类初始化过程①一个类要创建实例需要先加载并初始化该类main方法所在的类需要先加载和初始化②一个子类要初始化需要先初始化父类③一个类初始化就是执行<clinit>()方法 <clinit>()方法由静态类变量显示赋值代码和静态代码块组成 类变量显示赋值代码和静态代码块代码从上到下顺序执行 <clinit>()方法只执行一次 2、实例初始化过程①实例初始化就是执行<init>()方法<i...

2020-11-19 22:00:28 173

原创 JavaSE面试题02:单例设计模式

什么是Singleton?Singleton:在Java中即指单例设计模式,它是软件开发中最常用的设计模式之一。单:唯一例:实例单例设计模式,即某个类在整个系统中只能有一个实例对象可被获取和使用的代码模式。例如:代表JVM运行环境的Runtime类特性一是某个类只能有一个实例;构造器私有化二是它必须自行创建这个实例;含有一个该类的静态变量来保存这个唯一的实例三是它必须自行向整个系统提供这个实例;对外提供获取该实例对象的方式:(1)直接暴露(2)..

2020-11-19 21:49:49 100

原创 JavaSE面试题01:自增变量

public static void main(String[] args) { int i = 1; i = i++; int j = i++; int k = i + ++i * i++; System.out.println("i=" + i); System.out.println("j=" + j); System.out.println("k=" + k); }i=4j=1k=11小结:赋值=,最后计算 =右边的从左到右加载值依次.

2020-11-19 21:38:54 91

转载 MySQL权限详解

1、MySQL权限级别介绍MySQL权限级别 全局性的管理权限,作用于整个MySQL实例级别 数据库级别的权限,作用于某个指定的数据库上或者所有的数据库上 数据库对象级别的权限,作用于指定的数据库对象上(表、视图等)或 者所有的数据库对象上 权限存储在mysql库的user, db, tables_priv, columns_priv, and procs_priv这几个系统表中,待M...

2019-05-14 23:55:02 219

原创 mysql8.0.16安装( windows下)

1、官网下载安装包https://dev.mysql.com/downloads/mysql/2、解压后根目录新建my.ini文件,输入下列内容[mysqld]# 设置3306端口port=3306# 设置mysql的安装目录basedir=D:\MySQL\mysql-8.0.16-winx64# 设置mysql数据库的数据的存放目录datadir=D:\MySQL\D...

2019-05-14 23:38:07 529

转载 mysql 8.0.11 中使用 grant ... identified by 时 error 1064 near 'identified by '密码'' at line 1

1 问题:当使用grant 权限列表 on 数据库 to '用户名'@'访问主机' identified by '密码'; 时会出现"......near 'identified by '密码'' at line 1"这个错误2 原因:因为新版的的mysql版本已经将创建账户和赋予权限的方式分开了3解决办法:创建账户:create user'用户名'@'访问主机' iden...

2019-05-14 23:11:33 1558

转载 Caused by: com.mysql.cj.core.exceptions.InvalidConnectionAttributeException: The server time zone..

spring boot + mybaits 出现异常:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error updating database. Cause: org.springframewor...

2019-05-14 22:26:52 213

原创 读取scrapy配置文件setting.py中的方法

from scrapy.utils.project import get_project_settingssettings = get_project_settings()user_agents = settings['USER_AGENTS'] 

2019-02-18 12:50:48 2991

转载 scrapy的settings设置(一)

第一部分:基本配置1、项目名称,默认的USER_AGENT由它来构成,也作为日志记录的日志名BOT_NAME = 'Amazon'2、爬虫应用路径SPIDER_MODULES = ['Amazon.spiders']NEWSPIDER_MODULE = 'Amazon.spiders'3、客户端User-Agent请求头USER_AGENT = 'Amazon...

2019-02-17 20:43:55 2878

转载 scrapy的settings设置(二)

Scrapy设定(settings)提供了定制Scrapy组件的方法。你可以控制包括核心(core),插件(extension),pipeline及spider组件。设定为代码提供了提取以key-value映射的配置值的的全局命名空间(namespace)。Scrapy内置设置下面给出scrapy提供的常用内置设置列表,你可以在settings.py文件里面修改这些设置,以应用或者禁用这些...

2019-02-17 20:43:04 315

原创 scrapy 解决UserAgent池和IP代理池的三种方法(推介第三种)

一、UserAgent池1.1在settings配置文件中新增UserAgents池 USER_AGENTS = [ "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; AcooBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)", "Mozilla/4.0 (com...

2019-02-17 20:12:30 2249 1

转载 windows导出导入mongodb数据库

windows环境下导出导入mongodb数据库数据。导出。使用mongoexport命令。打开dos命令行,进入mongodb的bin目录下,如果配置了环境变量,则不需要进入到bin目录,输入 mongoexport -d db_name -c collection_name -o "file_name",-d后面跟着数据库名称,-c后面跟着集合名称,-o后面跟着导出的文件名,要带双引号。例...

2019-02-17 13:15:20 541

转载 Python第三方库wordcloud(词云)

1、入门案例"""Minimal Example===============使用默认参数根据美国宪法生成方形的词云"""from os import pathfrom wordcloud import WordCloud# matplotlib的方式展示生成的词云图像import matplotlib.pyplot as pltd = path.dirname(__...

2019-02-16 12:05:16 2038

C语言(提高篇).zip

2018黑马C语言提高最新文档,解压后为pdf文档,高清带书签,欢迎各位下载

2019-06-30

log4j-1.2.17.jar、logback-core-1.1.2.jar、slf4j-simple-1.7.12.jar等

commons-logging-1.2.jar、log4j-1.2.17.jar、logback-classic-1.1.2.jar、logback-core-1.1.2.jar、slf4j-api-1.7.12.jar、slf4j-jcl-1.7.12.jar、slf4j-simple-1.7.12.jar

2018-05-11

空空如也

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

TA关注的人

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