自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (3)
  • 收藏
  • 关注

原创 JDK8 stream常用方法(持续更新)

List<People> list = new ArrayList<>();//根据age对list分组Map<String,List<People>> groupByAge = list.stream().collect(Collectors.groupingBy(People::getAge));//根据age进行排序(reserve倒序...

2019-03-13 20:31:46 3255

原创 ThreadLocal简单理解

一句话解释ThreadLocal:ThreadLocal为变量在每个线程中创建一个副本,每个线程就可以访问内部的副本变量;其实这个副本是保存在线程的ThreadLocal.ThreadLocalMap里,类似于Map,key为该ThreadLocal变量,value就是副本变量。通过set(),get()方法设置/读取副本变量。之所以key是ThreadLocal变量,是因为一个线程中可以创建...

2018-11-04 18:34:44 210

原创 分布式事务实现方式

一、TCC(try-confirm/cancel)try过程是资源预留的过程,只有当两次资源预留都成功了之后,再执行confrim,如果其中一个失败了,就执行cancel,回滚二、消息事务(最终一致)通过消息中间件来实现分布式事务,如上图所示:1⃣️ 1失败,整个事务失败;2⃣️ 2失败,本地事务不执行,整个事务失败;3⃣️ 4失败,A系统一般会提供一个反向chec...

2018-11-03 17:57:22 1892

原创 linux抓包

抓包:tcpdump -i eth0 udp -s 0 -t -vv -w /home/sjh/audi.pcap-i 监视指定网络端口-s 0 默认抓取长度为68字节的包,加0后抓取整个包-vv显示详细抓包信息-t 不现实时间戳-c 100只抓取100个包-w 指定保存的的包与路径tail -f ***.log动态看打印日志

2017-01-20 17:22:55 355

原创 linux 多行注释批操作

使用下面命令在指定的行首添加注释::起始行号,结束行号s/^/注释符/g取消注释::起始行号,结束行号s/^注释符//g例子:在10 - 20行添加 // 注释:10,50s#^#//#g在10 - 20行删除 // 注释:10,20s#^//##g

2017-01-20 17:19:24 1000

转载 springboot + retrofit(平台间接口调用)

retrofit:一套RESTful架构的Android(Java)客户端实现。好处:基于注解提供JSON to POJO,POJO to JSON,网络请求(POST,GET,PUT,DELETE等)封装可以看做是对HttpClient的再次封装1、为了做测试,建立了一个新的springboot项目"myboot2",项目结构如下:1.1、pom.xml

2017-01-12 20:23:52 3594 1

转载 如何高效移除字符串中的空白字符

在做性能调优时,用JProfiler测试Web应用的性能,发现有个replaceBlank函数占用了10%的CPU时间,进去看了下,是个简单的用正则去除XML文档里空白字符串的功能。但是这个简单功能却消耗了10%的性能。在Web应用里,去掉空白字符串,似乎是个简单的功能,但是真正写起来,却也有些麻烦事。总结下。方式一:正则表达式htt

2017-01-10 19:31:55 1591

原创 关于mysql布尔类型的存储

首先mysql是不支持布尔类型的,当把一个数据设置成布尔类型的时候,数据库会自动转换成tinyint(1)的数据类型,其实这个就是变相的布尔。 默认值也就是1,0两种,分别对应了布尔类型的true和false

2017-01-03 17:56:29 46004

原创 spring的一些注解

@Api:用在类上,说明该类的作用@ApiOperation:用在方法上,说明方法的作用@ApiImplicitParams:用在方法上包含一组参数说明@ApiImplicitParam:用在@ApiImplicitParams注解中,指定一个请求参数的各个方面paramType:参数放在哪个地方header-->请求参数的获取:@RequestHeaderquery-->请求参数

2016-12-27 19:51:57 894

原创 maven导入jar包慢的问题

默认是从国外服务器载的,在setting.xml中修改 mirrors 加入如下配置        alimavenaliyun mavenhttp://maven.aliyun.com/nexus/content/groups/public/central uk  central  Human Readable Name for this Mirr

2016-12-21 23:12:12 1316

原创 maven 打包跳过测试的方法

在pom的build中加入以下配置          org.apache.maven.plugins          maven-surefire-plugin          2.4.2                     true           或者指令打包:mvn clean package -Dmaven.test.s

2016-12-21 23:09:33 342

原创 关于数据库(Mysql)的一些面试(笔试)问题

首先是笔试笔试考得更多的是一些指令:增 删 改 查。其中查(select)考得最多。select *** from *** where ***,只会这个是远远不够的,考得很多的是子查询 select *** from *** where id in(select id from *** where ***)我这边写的是查考的,《必知必会》还需要多看,这本书应付笔试足够了。下面再罗列一些

2016-11-11 19:24:05 661

原创 关于this.getClass().getSuperClass().getName()与super.getClass()

直接看代码的打印输出:/** * Created by TK on 2016/9/24. */public class Son extends Father { public void getSuperClass(){ System.out.println(this.getClass().getSuperclass().getName());

2016-10-09 22:08:52 1266

原创 关于回调函数

做个笔记,加深印象。所谓回调函数,简单的理解就是A调用B的方法b,B再调用A的方法a。这里方法b的参数包括对象A。/** * Created by TK on 2016/10/8. */public interface CallBack { public void solve(String answer);}/** * Created by T

2016-10-08 22:24:39 191

原创 HTTPS图解过程

2016-09-27 21:47:23 780

原创 关于数据库的面试问题(整理)

一、MyISAM与INNODB的区别MyISAM强调效率,执行速度比InnoDB快,但是不支持事务,不能在表损坏后修复数据。InnoDB不保存行号,就是在执行count操作时,需要扫描整个表,而MyISAM只要直接读出行号就行。注意:如果count与where组合使用两种引擎都是需要扫描整个表MyISAM适用:1. count操作多2. 插入少,查询多3. 不需要事

2016-09-25 23:48:52 1451

原创 电脑上访问一个网页,整个过程是怎么样的:DNS、HTTP、TCP、OSPF、IP、ARP。

用于笔试面试,整理的比较浅显,有什么不对的希望指正。应用层:1. DNS(53):我们输入的是一个URL需要转化成IP地址。首先我们知道我们本地的机器上在配置网络时都会填写DNS,这样本机就会把这个url发给这个配置的DNS服务器,如果能够找到相应的url则返回其ip,否则该DNS将继续将该解析请求发送给上级DNS,整个DNS可以看做是一个树状结构,该请求将一直发送到根直到得到结果。

2016-09-22 09:50:31 6116

原创 292. Nim Game

我先取,如果石头数量能被4整除,那么我必输,不然就赢。public class Solution {    public boolean canWinNim(int n) {        if(n%4 == 0)            return false;        else            return true;    }}

2016-06-14 20:25:06 214

原创 344. Reverse String

Write a function that takes a string as input and returns the string reversed.Example:Given s = "hello", return "olleh".这题没什么好说,不知道有没有大神有好的想法的:public class Solution {    public Strin

2016-06-14 20:19:59 212

原创 leetcode整理(java)

简单题开始,mark一下

2016-06-14 20:17:17 305

原创 JVM.0学习笔记(七)类文件结构

大致地整理下class文件的结构:一、魔数(magic 4个字节):唯一的作用就是确定一个文件是否是一个能被虚拟机接受的Class文件二、主次版本号(minor_version major_version各占2个字节):java版本号从45开始,JDK1.1后 大版本发布住版本号加1。举个例子:JDK1.1只能支持45.0~45.65535的class文件,不能再向上支持,

2016-05-03 19:09:14 314

原创 交换机与路由器的区别

这两个名词是我们生活中经常遇到的,,似乎都是用来上网的。但具体这两个有什么区别呢?下面是本人的一些整理:1、路由器可以给你的局域网自动分配IP,虚拟拨号,就像一个交通警察,指挥着你的电脑该往哪走,你自己不用操心那么多了。交换机只是用来分配网络数据的。2、路由器在网络层,通过ip寻址,处理TCP/IP协议;交换机在中基层(数据链路层吧),通过MAC地址寻址;3、路由器可以把一个IP分

2016-04-16 20:41:26 242

原创 java 从txt读数据 往excel写数据

package com.zyq.read;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;import java.util.Array

2016-04-15 13:44:11 412

原创 4月3日腾讯笔试题“最长回文子串”PS

题目如上:下面附上代码:package leetcode;import java.util.ArrayList;import java.util.Scanner;public class LongestPalindromicSubString {public static void main(String[] args) {// TODO Auto-ge

2016-04-04 11:24:48 647

转载 二叉查找树(BST),平衡二叉查找树(AVL),红黑树(RBT),B~/B+树(B-tree)的比较

http://www.iteye.com/topic/614070此少侠总结的特棒,直接收藏了。我们这个专题介绍的动态查找树主要有: 二叉查找树(BST),平衡二叉查找树(AVL),红黑树(RBT),B~/B+树(B-tree)。这四种树都具备下面几个优势:(1) 都是动态结构。在删除,插入操作的时候,都不需要彻底重建原始的索引树。最多就是执行一定量的旋转,变色操作来有限的改变树的

2016-03-20 23:31:38 350

原创 JVM学习笔记(五)之类加载机制

一、    类加载器对于任意一个类,都需要由加载它的类加载器和这个类本身一同确立其在java虚拟机中的唯一性:比较两个类是否“相等”,只有在这两个类是由同一个类加载器的前提下才有意义,否则,即使这两个类来源于同一个Class文件,被同一个虚拟机加载,如果加载它们的类加载器不同,那这两个类就必定不相等。启动类加载器负责将存在\lib目录中的,或者被-Xbootclasspath参数所指定

2016-03-17 00:14:22 395

转载 Java整个编译以及运行的过程

Java整个编译以及运行的过程相当繁琐,本文通过一个简单的程序来简单的说明整个流程。                 如下图,Java程序从源文件创建到程序运行要经过两大步骤:1、源文件由编译器编译成字节码(ByteCode)  2、字节码由java虚拟机解释运行。因为java程序既要编译同时也要经过JVM的解释运行,所以说Java被称为半解释语言( "semi-interpreted" la

2016-03-15 22:04:28 325

原创 关于intern()方法

以下是与小伙伴一起讨论的对intern()方法的简单理解,如有表述不当的地方,望不吝指教:在《深入理解java虚拟机》中的原话是这样的:“在JDK1.6版本中,intern()方法会把首次遇到的字符串实例复制到永久代中,返回的也是永久代中这个字符串实例的引用……而在JDK1.7的intern()实现不会再复制实例,只是在常量池中记录首次出现的实例引用。”首先要说明下,JDK1.7版本之前,

2016-03-15 19:59:16 443

原创 equals方法和hashcode方法

比较两个对象是否相等,只能用equals,因为不同对象可能会有相同的hashcode值。但是如果要判断两个对象是否不等,就可以用hashcode方法,因为不同的对象的hashcode值肯定不相等。话句话说:如果两个对象通过equals比较之后,返回的是true,那么这两个对象的hashcode值必定相等;如果equals返回的是false,那么这两个对象的hashcode值不一定不相等;

2016-03-15 19:19:07 657

原创 JVM学习笔记(四)之类加载机制

一、    Class文件Class文件是一组以8个字节为基础单位的二进制流;Class文件格式:无符号数和表。无符号数用来描述数字、索引引用、数量值或按照UTF-8编码构成字符串值。表由多个无符号数或者其他表构成的复合数据类型,class文件本质上就是一张表。Class的结构没有任何分隔符,无论是顺序还是数量,甚至是数据存储的字节序(Big-Endian)都是被严格规定好的。Ja

2016-03-13 23:07:07 549

原创 JVM学习笔记(三)之内存管理

安全点GC运行时,必须停顿所有Java执行线程。所谓的安全点,就是程序只有在安全点才会进行GC。那么GC发生时,如何让所有线程都“跑到”安全点有两种方案:1)抢占式中断;2)主动式中断。抢占式中断:首先所有线程全部中断,如果有线程不在安全点上,恢复线程,让其“跑到”安全点上。这种方案现在几乎不用。主动式中断:设置一个中断标志位,让每个线程轮询这个标记位,发现中断标记位为真时,主动中

2016-03-13 15:40:39 413

原创 JVM学习笔记(二)之内存管理

三、对象的内存布局内容包括三部分:对象头、实例数据、对齐填充对象头:1、存储自身运行时数据,如哈希码,GC分代年龄……(Mark Word);                 2、类型指针,确定对象是哪个类的实例;                 3、如果是数组对象还需一块记录数组长度的数据。实例数据:对象真正存储的有效信息对齐填充:不是必然存在的,起着占位符的作用。内存管

2016-03-10 23:28:25 323

原创 JVM学习笔记(一)之内存管理

一、内存(1-4为运行时数据区)1.      栈虚拟机栈:为虚拟机执行java方法服务本地方法栈:为虚拟机中使用到的native方法服务它们都是线程私有的。2.      堆被所有线程共享(也可能分配出多个线程私有的分配缓冲区) 所有对象实例以及数组都在堆上分配(目前开始不这么绝对了(各种优化技术))3.      方法区(别名non-heap)跟堆一样,也是

2016-03-09 23:08:08 318

转载 内存溢出与内存泄漏

内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终会导

2016-03-09 23:03:57 193

spring开发所需的所有库

好多都是本人载下来的,一个库包一个积分,当时很心疼。

2016-04-25

dsp_builder

dsp_builder深入浅出,完整英文资料。基于matlab,quartusII的第三方软件

2013-04-14

空空如也

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

TA关注的人

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