自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 jvm 字节码的执行

javap简单的字节码执行过程常用的字节码使用ASM生成Java字节码JIT(及时编译)及其相关参数javap  class文件的反汇编工具package javap; /** * @Package Name : ${PACKAG_NAME} * @Author : dongfucai@me...

2018-06-30 18:57:45 85 0

转载 栈帧、局部变量表、操作数栈

1.定义     栈帧(stack frame)是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈的栈元素。栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息。     每一个方法从调用开始到执行完成的过程,就对应着一个栈帧在虚拟机栈里面从入栈到出...

2018-06-30 18:48:27 532 0

转载 java中注解(Annotation)的理解

文章开头先引入一处图片。 这处图片引自老罗的博客。为了避免不必要的麻烦,首先声明我个人比较尊敬老罗的。至于为什么放这张图,自然是为本篇博文服务,接下来我自会说明。好了,可以开始今天的博文了。Annotation 中文译过来就是注解、标释的意思,在 Java 中注解是一个很重要的知识点,但经常还是有...

2018-06-30 13:09:09 87 0

原创 java的反射 demo5 为什么要反射与模版

package com.imooc.reflect; /* 为什么要用方法 的发射 */ import java.lang.reflect.Method; import java.util.ArrayList; /* 通过 Class 和Method 来认识范型的本质 */ ...

2018-06-30 12:36:28 130 0

转载 为什么要反射?

作者:老顽童周伯通 链接:https://www.zhihu.com/question/24304289/answer/147529485 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。   这里我不打算像别的答案上来就上代码,给你讲怎么用,是啥是啥,老实说那...

2018-06-30 12:33:17 5103 6

原创 java的反射 demo4 反射的方法来调用函数

package com.imooc.reflect; import java.lang.reflect.Method; public class MethodDemo1 { public static void main(String[] args){ // 获取...

2018-06-30 12:04:38 383 0

原创 java 中的反射demo3 获取类的方法,字段,构造函数

1 获取类的方法package com.imooc.reflect; public class ClassDemo3 { public static void main(String[] args){ String str="hellworld"; ...

2018-06-30 12:00:33 61 0

原创 java 中的反射demo2

package com.imooc.reflect; /* 4 基本的数据类型 void 关键字 都存在类类型 5 Class 类的基本信息 */ public class ClassDemo2 { public static void main(String[] arg) { ...

2018-06-30 11:50:24 35 0

原创 java 中的反射demo1

package com.imooc.reflect; /* Class也是类,它的实例对象是一个个的类,这一个个的类都有类名啊,都有方法啊,都有属性啊等等, 所以就抽象出了一个Class类来管理这些一个个类的相关。因为一个程序中类肯定很多, 所以用Class类来管理 */ /* 1 Cla...

2018-06-30 11:47:39 38 0

转载 jvm是什么?

说明:做java开发的几乎都知道jvm这个名词,但是由于jvm对实际的简单开发的来说关联的还是不多,一般工作个一两年(当然不包括爱学习的及专门做性能优化的什么的),很少有人能很好的去学习及理解什么是jvm,以及弄清楚jvm的工作原理,个人认为这块还是非常有必要去认真了解及学习的,特别是刚入门或入门...

2018-06-30 10:51:05 64 0

原创 mysql 中的锁

1、delete from A where Id = 1;Id是主键,仅锁住Id为1 的哪一行2、delete from A where value = 1;value是二级索引,锁住所有value为1的行,在对数据进行操作。3、delete from A where desc = 1;desc没...

2018-06-29 17:48:52 78 0

原创 mac快捷键chrome

应用类型快捷键功能快捷键chrome 和item窗口新建命令command + t各个应用的tag切换Ctrl+tab/shift+option+{,}chrome 和item窗口切换至指定的标签页command+数字chrome历史上一次开始的页面Command + shift +t:chrom...

2018-06-29 13:32:24 218 0

原创 slf4j中的Logger 使用占位符{} 来传入参数记录日志信息

首先要导入 slf4j包中的2个类import org.slf4j.Logger;import org.slf4j.LoggerFactory; 注意包不要引入错再定义如下private final static Logger LOG= LoggerFactory.getLogger(MyClas...

2018-06-28 13:17:24 6093 0

原创 搜索文件夹中的文本中的字符串

使用命令grep -rl 'abc' /(有引号)-r 选项表示递归(recursive)遍历所有子目录-l 选项表示只列出文件名/ 是根文件夹, 表示全盘

2018-06-27 18:13:13 464 0

转载 github 上删除文件夹

删除github上文件夹的两种方式(解决已经加入ignore的文件夹无法从远程仓库删除的问题)如果此文件夹已被加入git追踪,那么删除方法很简单,只需要将此文件夹删掉,然后提交一下就可以了如果次文件夹曾经被加入过git追踪,现在被加入.gitignore里了,但是github上还有此文件夹。对于这...

2018-06-27 17:31:26 145 0

转载 google guava工具包 checkNotNull的作用 , checkState

checkNotNull 源码如下:Preconditions.checkNotNull(object);public static <T> T checkNotNull(T reference) { if (reference == null) { thr...

2018-06-26 14:48:31 329 0

原创 jsp 表单 post

如何去调试一个html<%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path=request.get...

2018-06-26 11:18:13 64 0

转载 查看JAVA的class二进制文件的方法

hexdump -C filename可以查看二进制文件。比如java的Test.javapublic class Test{ public static void main(String[] args){ System.out.println("Hello Wo...

2018-06-24 17:20:16 3371 0

原创 锁 对象头Mark

MarkWord,对象头的标记,32位描述对象的hash、锁信息,垃圾回收标记,年龄–指向锁记录的指针–指向monitor的指针–GC标记–偏向锁线程ID偏向锁大部分情况是没有竞争的,所以可以通过偏向来提高性能所谓的偏向,就是偏心,即锁会偏向于当前已经占有锁的线程将对象头Mark的标记设置为偏向,...

2018-06-24 14:37:13 235 0

原创

线程安全package metux; import java.util.ArrayList; import java.util.List; /** * @Package Name : ${PACKAG_NAME} * @Author : dongfucai@meituan.com * @...

2018-06-23 20:03:36 114 0

转载 git 提交多个文件

git 一次 add 多个文件的方法git add file_1 file_2 file_31多个文件用 空格 隔开git 提交 文件夹的方法git add catalog_name

2018-06-22 18:08:39 13432 0

转载 git 的撤销操作

撤消操作任何时候,你都有可能需要撤消刚才所做的某些操作。接下来,我们会介绍一些基本的撤消操作相关的命令。请注意,有些撤销操作是不可逆的,所以请务必谨慎小心,一旦失误,就有可能丢失部分工作成果。修改最后一次提交有时候我们提交完了才发现漏掉了几个文件没有加,或者提交信息写错了。想要撤消刚才的提交操作,...

2018-06-22 15:27:19 60 0

转载 Spring MVC 中 HandlerInterceptorAdapter的使用

一般情况下,对来自浏览器的请求的拦截,是利用Filter实现的,这种方式可以实现Bean预处理、后处理。 Spring MVC的拦截器不仅可实现Filter的所有功能,还可以更精确的控制拦截精度。 Spring为我们提供了org.springframework.web.servlet.handle...

2018-06-22 12:02:10 41 0

原创 pidstat 命令

–细致观察进程–需要安装•       sudoapt-get install sysstat–监控CPU–监控IO–监控内存-p 指定进程–u监控CPU每秒采样一共3次-d 表示监控线程

2018-06-22 00:10:36 194 0

原创 vmstat

vmstat–可以统计系统的CPU,内存,swap,io等情况–CPU占用率很高,上下文切换频繁,说明系统有线程正在频繁切换

2018-06-22 00:00:44 438 0

原创 uptime

23:57  up 10 days, 12:40, 2 users, load averages: 2.58 2.75 2.91–系统时间–运行时间•例子中为7分钟–连接数•每一个终端算一个连接–1,5,15分钟内的系统平均负载•运行队列中的平均进程数...

2018-06-21 23:58:28 1084 0

转载 crontab 命令

19. crontab 定时任务通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。19.1. 命令格式crontab [-u user]...

2018-06-21 15:23:56 24 0

转载 mybatis之<trim prefix="" suffix="" suffixOverrides="" prefixOverrides=""></trim>的含义

1.&lt;trim prefix="" suffix="" suffixOverrides="" prefixOverrides=""&gt;&lt;/trim&gt;prefix:在...

2018-06-21 14:42:53 2044 0

转载 动态SQL之<where>、<if>条件判断

错误方式一: 在mybatis的动态sql语句中使用&lt;if&gt;标签可以判断sql中的条件是否成立。 &lt;select id="getPerson" resultType="com.lzj.bean.Employee"...

2018-06-21 14:41:30 2498 0

转载 Linux的编码及编码转换

如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题。Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8。下面介绍一下,在Linux中如何查看文件的编码及如何进行对文件进行编码转换。 查看文件编码在Linux中查看文件编码可...

2018-06-20 15:11:26 159 0

原创 vim 的使用

显示两个不同的文件;或者同时显示一个文件的两个不同地方;又或者并排比较两个文件。这一切都可以通过分割窗口实现。打开新窗口最简单的命令如下::split (水平分割) || :vsplit (垂直分割)可以简写sp 或者vs这个命令把屏幕分解成两个窗口并把光标置于上面的窗口中.CTRL-W w 命令...

2018-06-20 15:01:51 50 0

原创 jar 包冲突 java.lang.NoSuchFieldError

 java.lang.NoSuchFieldError: INSTANCE异常,可能是jar包冲突了。我遇到的情况是maven里引入了一个JAR,而我又在lib里面引入了这个jar,并且版本还不相同,就出了这个错。解决办法:1mvn dependency:tree -dverbose2(1)  安...

2018-06-20 11:59:14 15617 0

原创 什么是类装载器ClassLoader

----------------------类的查找和加载以及查找路径------------------当前找不到这个类的时候,会请求 父类去加载--------------------------类加载的例子如何让启动classload 去加载 app classload?...

2018-06-20 10:01:28 429 0

转载 IDEA 的基本调试

在调试代码的时候,你的项目得debug模式启动,也就是点那个绿色的甲虫启动服务器,然后,就可以在代码里面断点调试啦。下面不要在意,这个快捷键具体是啥,因为,这个keymap是可以自己配置的,有的人keymap是mac版的,有的是Windows版的。我的就是Windows,而且修改keymap为ec...

2018-06-19 21:38:12 113 0

转载 MyBatis中关于resultType和resultMap的区别

MyBatis中关于resultType和resultMap的区别  MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的(对应着我们的model对象中的实体),而resultMap则是对外部Re...

2018-06-19 21:33:02 58 0

原创 去掉最后一个字符

StringBuffer stringBuffer1 = new StringBuffer() ; for (UserResponse supper:responses1){ stringBuffer1.append(supper.getId()+","); } s...

2018-06-19 18:17:15 288 0

原创 IDEA 中的调试错误

在IDEA中 如果知道哪个函数有问题 就 step into 进去 这个函数,引用的可能是第三方包,打开下面结构的参数 不一样的颜色的信息 ,就可能会看到出现的错误的信息,...

2018-06-15 11:34:03 523 1

原创 Error creating bean with name 初始化bean错误

\bean在建立过程中出现问题可能是 数据源init 出现问题

2018-06-14 18:03:48 1504 0

原创 股票买卖2次

Example 1:Input: [3,3,5,0,0,3,1,4] Output: 6 Explanation: Buy on day 4 (price = 0) and sell on day 6 (price = 3), profit = 3-0 = 3.   Then...

2018-06-14 00:40:10 458 0

原创 股票可以买卖多次

class Solution {public:    int maxProfit(vector&lt;int&gt;&amp; prices) {                int size = prices.size();        if(size == 0){ ...

2018-06-14 00:17:43 197 0

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