自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

迷途中的一片羽毛博客

只从毕业以后,深深感受社会的无奈

  • 博客(38)
  • 资源 (10)
  • 收藏
  • 关注

原创 JVM类加载过程-面试题

前言我们知道虚拟机JVM要运行一个代码,需要我们先把.java文件编译成.class文件,然后把.class文件加载到JVM中,最后运行main方法。本篇class文件加载到JVM过程,面试经常问到。类周期类加载过程类加载过程大致分为三部分:加载、连接、初始化,其中连接过程分为:验证、准备、解析,其中顺序没有明确要求,总的来说在初始化之前前面步骤都要完成,具体以什么顺序完成则没有明确规定。加载加载过程分为三步骤:1、获取定义此类的二进制字节流,通过包名类名定位到class文件

2020-10-26 11:37:11 878

原创 有十二个砝码.分三次称.其中有一个砝码或轻或重.该怎么称.称出这个砝码

题目:有十二个砝码.分三次称.其中有一个砝码或轻或重.该怎么称.称出这个砝码。之前一个分解问题,总是把自己弄乱,某天晚上失眠又想起来这道题,脑子清晰了,整个分解思路都理清楚了,并做了下面脑图,供大家更好理解。脑图...

2020-01-11 09:52:15 2094

原创 Oracle函数实现表映射实体类

简介通常使用mybatis或者是hibernate持久化框架,有点很麻烦就是每张表的映射实体类,需要“_”格式命名转成驼峰式命名,并且需要把表备注和字段备注,与类注解和成员变量注解对应上,如果一直用手动复制创建,不仅耗时,而且容易出错。虽然网络有很多java工具类可以生成,这边写了一个oracle函数,通过oracle原有的函数实现了生成表的映射类。使用函数执行查询sqlsele...

2019-12-28 15:11:54 1928 1

原创 java线程池讲解

简介程序(代码)需要在计算机系统中运行,需要计算机系统的资源,资源是有限,不能你想要随时都有,正常的过程是:为程序(代码)创建一个线程 -> 等待cpu-> 执行 -> 结束 -> 销毁该线程,回收资源。如果大量程序(代码)执行的时候,计算机需要频繁的创建线程和销毁线程,但是程序是可以复用的,这次执行完,下次还是可以复用该线程,所以就出现的线程池。线程池:程序先创...

2019-12-11 18:04:07 617

原创 Redis-集群三种模式简介

简介redis实现高可用的方式通常有三种模式:主从模式,哨兵模式,redis-cluster集群。主从模式一台主服务器、多台从服务器原理从服务器(slave)起始连接主服务器(master),从服务器(slave)发起数据同步请求(sync命令); 主服务器(master)接受sync命令,执行BGSAVE命令,把已有的数据生成RDB文件(通过RDB方式持久化),同时这段...

2019-12-11 11:26:03 360

原创 VUE学习-判断、隐藏、循环

判断v-if表达式成立则显示便签内容,否则不显示。例子:点击按钮,显示或者隐藏标题,v-if绑定一个表达式变量,通过改变这个变量控制便签显示或者隐藏。隐藏v-show表达式成立则显示便签内容,否则不显示。功能与v-if类似,但是v-show控制的是css标签内display的属性值,而v-if控制的是标签整个元素。如下例子:循环v-for集合数据列表展示。集...

2019-10-24 21:37:55 540

原创 VUE学习-挂载点、模板、实例、数据、事件、方法、常用标签内指令

挂载点一个html标签id与一个vue里面el值一致,则这个html标签就是vue实例的挂载点,例如下图:div的id是root,new Vue里面el的值是“#root”,则root这个标签就是Vue实例的挂载点。挂载点的作用就是Vue实例里面的方法、数据等只会处理挂载点范围内的元素。模板挂载点里面的内容都叫模板,模板可以直接写在挂载点里面如下图一,也可以写在Vue实例里面的...

2019-10-10 22:58:44 592

原创 VUE学习-初识VUE

初识VUEVUE开始VUE一套构建用户界面的渐进式框架,Vue是一个数据驱动页面的框架,基于MVVM模式,V指视图,M指数据,VM指视图模型,把数据绑定到视图上。整个框架着重于VM部分开始vue官网:https://cn.vuejs.org1、下载vue.js,直接官网下载开发版2、创建hello.html,通过引入vue.js4、创建vue实例,并设置接管html元素(与html...

2019-10-08 22:46:13 216

原创 spring系列-http接口请求

简介整理一份关于使用spring boot日常接口开发笔记。HTTP请求方式POST:用于新增数据 GET:用于请求数据 PUT:用于修改数据 DELETE:用于删除数据 PATCH:用于修改数据HTTP请求数据格式(参数)GET方式请求数据都直接在URL后面拼接上去;POST方式请求多了一个body部分,可以把数据放在URL或者是放在body。常见body数据类型...

2019-09-26 14:29:05 4513

原创 Redis-缓存雪崩、穿透、击穿

缓存雪崩在同一个时间点上,大量的缓存失效。缓存集中在一段时间内失效,发生大量的缓存穿透,所有的查询都落在数据库上,造成了缓存雪崩。解决方案: 1、数据预热,在即将可能出现大量并发的时候reload,不同的key设置不同的失效时间,尽量把失效时间均匀。 2、设置永不过期 3、加锁排队(双重校验锁,缓存击穿解决方案) 4、做二级缓存,A1缓存失效(失效时...

2019-09-21 22:59:34 222

原创 Hibernate和Mybatis一级缓存、二级缓存

Hibernate简介Hibernate是一个持久层框架,经常访问物理数据库。为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。一级缓存Hibernate一级缓存又称为“Session的缓存”。Session内置不能被卸载,Session的...

2019-09-21 22:57:17 1258

原创 Ignite-初识Ignite

简介最近公司需要更改一个旧项目,其中涉及到Ignite作为缓存体系,之前使用的缓存框架通常是redis集群,第一次接触Ignite,想把学习、认知过程记录下来。ignite作为分布式缓存框架, 首先了解到本来项目是分布式,ignite是直接嵌入项目(java)中,ignite是基于JVM的,所以可以完全嵌入java项目中,随着项目启动而启动关闭而关闭 (我理解为相当于java编写了一个ma...

2019-09-12 13:42:52 22184

原创 java关键词Transient、native、volatile

Transient是出现在mybatis映射实体类的时候,实体类某属性不需要映射的数据库表字段的时候加上@transient标签。主要的作用是对象序列化的时候会忽略这个属性。native在看法的过程没有使用过,在看源码的时候经常看到过用它来修饰一些方法。主要的作用在方法前加上native,代表方法是通过外部底层C实现的,调用的时候会用调用C语言方法调用。volatile使用是在多线程开发的...

2019-07-23 16:37:05 379

原创 RocketMq-单机搭建(单master)

准备工作环境:centOS7安装包:rocketmq-all-4.3.0-bin-release.zipJDK1.8maven环境(主要是运维工具)一、解压1、使用xshell连接centos7,通过xftp上传rocketmq-all-4.3.0-bin-release.zip文件至/usr/local/software2、解压zip文件,命令:unzip roc...

2019-06-07 23:36:18 1535

原创 RocketMq-基本概念认识

概念RocketMq是一款由阿里巴巴开源的消息中间件,所谓消息中间件的意思是消息存放的中转站,他可以存放由服务器(生产者)生产的消息(topic),消息类型可以是字符串、json串等数据类型,服务器(消费者)需要的时候可以提取出来。消息存放的方式是以队列的形式存放,特点是先进先出(先放入的消息先被拿出来)顺序放入拿出。RocketMq特点是高性能、高可用、高实时、分布式。主要作用是解耦、并行转...

2019-06-05 15:54:13 544

原创 Redis-五种数据类型

概述Redis是一种可基于内存也可持久化的日志型、key-value数据库,所以我们说的Redis支持的五中类型数据是指value的数据类型。五种数据类型:字符串(String)、列表类型(List)、集合类型(Set)、有序集合类型(SortedSet)、散列类型(Hash)。一、字符串(String)字符串类型是redis最基本数据类型,可以储存普通字符串、二进制数据、文件、图片或...

2019-06-04 15:49:34 596

原创 Redis-关于数据持久化

概述redis是一个缓存数据库,数据通常存放在内存中,以此做到快速读写功能。这样做的弊端就是每次机器重启或者掉线数据都会消失。通常为了解决内存数据再下次重启消失问题,主要方式就是把数据持久化到磁盘中,每次启动的时候就是磁盘数据载入内存,redis也是支持这种模式。持久化方式redis持久化数据到磁盘主要有两种方式:RDB和AOF。RDB方式是根据策略(配置文件)定时把数据持久化到磁盘;...

2019-06-04 09:25:47 276

翻译 常用linux命令(摘自他人笔记)

scp root@192.168.1.155:1.txt 2.txt (把服务器的1.txt下载到本地,并且重命名为2.txt)scp 2.txt root@192.168.1.155:3.txt (把本地2.txt文件上传到服务器的root目录下,并且命名为3.txt)如果是文件夹加上-r 为 scp -r .....centos7 防火墙的使用1、firewalld的基本使用启动:...

2019-05-09 08:55:41 277

原创 搭建hbase集群

准备工作hadoop集群zookeeper集群hbase-1.4.9-bin.tar.gz一、

2019-05-05 22:00:24 415

原创 zookeeper集群搭建

准备工作三台虚拟机:192.168.2.177,192.168.2.178,192.168.2.179jdk1.8环境(往期博客有)zookeeper-3.4.12.tar.gz一、zookeeper安装使用xftp上传zookeeper-3.4.12.tar.gz,使用tar -xvfzookeeper-3.4.12.tar.gz解压到路径/usr/local/softwa...

2019-05-04 18:25:03 515

原创 本地虚拟机搭建Hadoop集群

准备工作jdk1.8 hadoop2.7 VMware一、新建三台虚拟机(使用centos 7)1、重命名hostname,分别命名为namenode、datanode2、datanode3建立主机名与IP地址映射,打开编辑:vi /etc/hosts2、配置静态ip地址,打开配置文件:vi /etc/sysconfig/network-scripts/ifcfg-...

2019-05-03 23:35:48 4250

原创 springboot设置文件上传大小,默认是1mb

springboot默认文件大小的限制是1MB,超过1MB会出现这个错误:org.springframework.web.multipart.MultipartException。通过设置application.yml文件属性更改文件大小限制如图:spring: servlet: multipart: enabled: true #是否启用http上传处理 ...

2019-04-28 09:29:19 30680 1

原创 使用idea+maven给springboot多模块结构打jar包

首先介绍项目结构,父工程:hfmp,子模块:affairs(springboot)、information(springboot)、model(java工程)、common(java工程),依赖关系:affairs依赖model和comm;information依赖model和common。如图hfmp父工程的pom.xml(只摘取部分关键代码),注意不需要<build&g...

2019-04-17 11:33:24 6429 1

原创 Base64编码字符超过76个出现换行符

前段时间在过接口md5校验的时候踩过这个坑,校验方式:MD5(base64(字符串)),在开发环境(window)下没问题,但是发布在linux上面就出现bug,一直校验不通过,但数据放回开发环境又没问题,分别在window环境与linux环境打印原字符串、base64加密、md5串,发现源字符串、base64加密一致,md5串不一致。 第一反应是MD5加密位数不一样,...

2019-04-16 14:46:59 3502 1

原创 分别整理常用mysql和oracle的基本sql语句包括DML、DDL、DCL

DML(data manipulation language)数据操纵语言,包括:select、insert、update、delete。DDL(data definition language)数据库定义语言,包括:create、alter、drop等,改变数据库表结构的操作。DCL(Data Control Language)数据库控制语言,包括:grant,deny,revoke等操...

2019-03-09 10:48:07 496

原创 使用队列queue构造栈stack、使用栈stack构造队列queue

队列queue特性:先进先出(队尾进,队头出),主要方法poll(取值),push(放值)、getLength(长度)栈stack特性:先进后出,主要方法poll(取值),push(放值)、getLength(长度)/** * @Auther: zhangyh * @Date: 2019/1/14 09:57 * @Description: 队列是先进先出(队尾进,队头出),栈是先...

2019-01-14 16:39:46 344

原创 java垃圾回收机制

任何一种垃圾回收算法一般要做2件基本的事情:(1)发现无用信息对象;(2)回收被无用对象占用的内存空间,使该空间可被程序再次使用  java GC垃圾回收机制(分代管理机制)    1.年轻代(Young Generation):所有新生成的对象首先都是放在年轻代的。年轻代的目标就是尽可能快速的收集掉那些生命周期短的对象。       特点:内存分为三个区,eden区(8)和两个s...

2019-01-04 11:10:43 188

原创 Orcel生成驼峰查询语句

       通常我们在建表的时候表字段都是用“_”来分割,比如建一个用户字段使用“user_name”,而在java我们通常都是使用驼峰式,比如用户字段使用“userName”。在使用mybatis映射都实体类的时候,很麻烦需要一个个把“_”去掉并把后一个字段变成大写,所以写了一个函数自动把表的字段映射成驼峰式,方便开发。效果如下:主要函数代码:调用函数:select create_sq...

2018-12-24 15:25:35 1624

原创 java的简单排序、冒泡排序、插入排序、归并排序

    简单排序:按顺序拿值都跟其他值对比,小于则交换位置。    private static void simpleLookUp(int[] a) { int length = a.length; int temp  = a[0]; for(int i = 0 ;i &lt;length ; i++){ for(int j = i + 1 ;j &lt;length ; j++){ ...

2018-05-18 14:27:52 383

原创 java实现二分查找法

    二分查找前提条件是存在一组数据已经排序好的, 目标值每次都只需要跟临界点那个值进行对比。    当大于这个临界值则,取[临界值+1]~[右下标]的临界值,再跟目标值对比反复直至找到;当小于这个临界值则,取[左下标]~[临界值-1]的临界值,再跟目标值对比反复直至找到。    代码简单的二分查找(注意退出的条件左下标大于右下标或者找到目标值):    private static int t...

2018-05-15 17:05:11 522

原创 关于二叉树的前序、中序、后序三种遍历

二叉树遍历分为三种:前序、中序、后序,其中序遍历最为重要。为啥叫这个名字?是根据根节点的顺序命名的。比如上图正常的一个满节点,A:根节点、B:左节点、C:右节点,前序顺序是ABC(根节点排最先,然后同级先左后右);中序顺序是BAC(先左后根最后右);后序顺序是BCA(先左后右最后根)。    比如上图二叉树遍历结果    前序遍历:ABCDEFGHK    中序遍历:BDCAEHGKF    后序...

2018-05-07 12:25:02 475161 109

原创 nginx静态化技术

    通常普通网站流程是,用户请求Tomcat服务器,拿到数据渲染后动态的jsp页面,返回给用户,可能优化数据直接放在缓存(不访问数据库以提高用户访问速度)。    静态化技术就是让用户访问的资源变成静态html页面,针对一些访问量大、不改动或者改动不频繁的业务,比如商品详情页(上架后数据基本不会变化)。生成的静态页面html放在nginx服务器上(Tomcat的上一级),用户访问不需要访问to...

2018-05-04 21:48:31 2195

原创 cent os7安装mysql数据库

    本来自己想尝试离线(没有网络状态)下安装mysql,弄了好久发现,百度了好久终于让我弄到mysql所有依赖(后面上传),但是万万没想到最后一步安装mysql-server居然还要一个perl的编译环境...查了一下这个环境依赖太多了,瞬间崩溃,直接yum install perl搞定(但是网上很多教程没有讲到这个perl,直接安装完mysql的依赖就够了)。    这些安装依赖命令rp...

2018-05-04 10:13:28 2604

原创 Kafka中间件集群部署(spring+kafka集群项目整合也会上传)

1、创建三个centos 7虚拟机,vi /etc/sysconfig/network-scripts/ifcfg-ens33配置静态IP地址 TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO="static"IPADDR=172.18.160.175/172.18.160.176/172.18.160.177NET...

2018-05-02 14:29:40 1694

原创 java笔记-NIO

    最近一段时间在看别人整理的Java NIO笔记,就想自己把我理解的NIO记录下来。    IO与NIO的区别,首先IO是面向流操作的,每次从流中读一个或多个字节,直至读取所有字节;NIO是面向缓冲区(这边新加Buffer)操作,添加capital(容量)、position(位置)、limit(限制)概念,capital&gt;=limit&gt;=0,每次读写操作的范围是position~...

2018-05-02 11:07:50 197

原创 java笔记-IO流

    java.io包下有将近80个类,总体分为四组,根据传输数据格式分为操作字节的I/O接口:InputStream和OutputStream;根据传输数据格式操作字符的I/O接口:Writer和Reader;根据传输方式操作磁盘的I/O接口:File;根据传输方式操作网络的I/O接口:Scoket。...

2018-04-26 11:34:03 201

原创 java笔记-jvm执行顺序

java加载一般顺序:静态块(静态变量)——>成员变量——>构造方法——>静态方法 。执行顺序根据静态部分是依赖于类,而不是依赖于对象存在的,所以静态部分的加载优先于对象存在。       1.静态属性,静态方法声明,静态块。  2.动态属性,普通方法声明,构造块。  3.构造方法。静态:  当加载一个类时,JVM会根据属性的数据类型第一时间赋默认值(一举生成的)。然后

2018-01-11 16:56:59 636

原创 人生第一篇博客,现阶段1

博主从6月份毕业入职一家初创IT小公司,刚进去公司就三个开发加一个号称开发十几年的老板,进去后才知道三个就一个是本公司,剩下两个都是外包公司的。我来的以后独苗员工辞职了,我变成独苗了,幸好进去半个月陆陆续续招了两个加一个实习生。

2017-11-13 12:51:58 276 1

centos7安装mysql5.7依赖第二部分

mysql-community-libs-compat-5.7.18-1.el7.x86_64,mysql-community-server-5.7.18-1.el7.x86_64

2018-05-04

centos7安装mysql5.7.18的依赖RPM

mysql-community-client-5.7.18-1.el7.x86_64,mysql-community-common-5.7.18-1.el7.x86_64,mysql-community-devel-5.7.18-1.el7.x86_64,mysql-community-embedded-5.7.18-1.el7.x86_64,mysql-community-embedded-compat-5.7.18-1.el7.x86_64,mysql-community-embedded-devel-5.7.18-1.el7.x86_64,mysql-community-libs-5.7.18-1.el7.x86_64,因为大小限制只能上传部分,还有mysql-community-libs-compat-5.7.18-1.el7.x86_64,mysql-community-server-5.7.18-1.el7.x86_64在第二部分

2018-05-04

spring+kafka中间件整合

spring整合kafka集群,init.properties配置kafka集群信息(也可以单个kafka服务),kafka-consumer.xml配置消费者监听,kafka-producer.xml配置消息生产者。

2018-05-02

搭建jfianl框架需要的架包

JFinal 是基于Java 语言的极速 web 开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。压缩包里面有搭建jfinal所需要的包

2017-03-15

jq弹窗各种效果插件

jquery 各式各样弹框式页面的js插件

2017-03-15

坦克大战TanKeWar.RAR

用javaSE编写坦克大战

2017-02-17

httpwatch_10.0.43.0

2017-02-17

apache-maven-3.2.5-bin

2017-02-15

使用ajaxFileUpload实现图片上传

ajaxFileUpload实现图片上传,内附使用说明

2017-02-14

myeclipse svn插件site-1.10.13-1.9.x.zip

2017-02-14

空空如也

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

TA关注的人

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