自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 Java自动生成主键id的方法

为了数据表中主键不重复且不过于简单,通过调用MySQL中的函数来实现一种自动生成主键id。首先Java代码中使用mybatis实现调用数据库函数。mapper文件import org.apache.ibatis.annotations.Mapper;@Mapperpublic interface CommonMapper{ String generateKey(String i...

2020-03-18 13:50:40 2738

原创 深入理解JVM虚拟机(三)关于判断对象是否回收的两种算法

思考GC需要完成的三件事情:1.哪些内存需要回收?2.什么时候回收?3.如何回收?问题一:到底是什么样的方法是在栈中的,什么方法是在堆中的呢?具体可以看https://blog.csdn.net/Genjicoo/article/details/104933059比较通俗的讲解了堆和栈中具体存的是什么。为什么要去了解gc和内存分配?当需要排查各种内存溢出、内存泄漏问题时,当垃圾收集成...

2020-03-17 23:36:55 171

转载 举例讲解JAVA中的堆和栈

Java中堆和堆栈的区别    1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 (降低内存或者说是程序方面的内存泄露等问题出现的几率?)...

2020-03-17 22:23:32 223

原创 深入理解JVM虚拟机(二)对象的创建、内存布局以及访问定位

对象的创建声明:本文讨论的对象仅限于普通Java对象,不包括数组和class对象等虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过,如果没有,那必须先执行相应的类加载过程。类加载检查通过后,接下来虚拟机将为新生对象分配内存,分配方式有两种指针碰撞和空闲列表。具体使用哪一种分配方式取决于Jav...

2020-03-15 17:35:03 186

原创 深入理解JVM虚拟机(一)Java内存区域的划分

Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。程序计数器Java虚拟机栈本地方法栈Java堆方法区运行时异常直接内存...

2020-03-15 15:39:00 129

原创 使用RestTemplate调用接口

@Override public WebApiNewResult<String> addOrUpdateUser(UserModel model, String authToken) { var result = new WebApiNewResult<String>(); try { if (model ...

2020-03-15 13:32:50 331

原创 Java如何把1变成0001

@Test public void test1(){ int a = 1; String code = String.format("%04d",a);//变成0001,如果想变成001---“%03d” System.out.println(code); }一般是生成编号时使用...

2020-03-07 17:29:37 4361

原创 关于Mybatisplus无法将字段置空的问题

最近的开发过程中遇见了很多的问题,解决起来也是各有不同,最后发现如果开发开始之前就能注意一下的话,就不会存在这些问题了。昨天遇见一个问题就是当我使用mybatisplus的update方法时,我将某一个属性值赋null,然后调用update方法,返回true,去数据库一查数据,却发现数据还是原来的值,并没有被置null,这是因为mybatisplus的自动判空机制,当它发现你要update的实体...

2020-03-07 17:14:32 6388 2

原创 Java日常开发中需要注意的几个小问题

也做程序员一年多的时间了,虽然项目没有做的特别多,但是接手的每个项目都是从零开始的,从其中也学到了蛮多的,记录一下,希望将来可以少走弯路。一、对于参数的验证一般情况下,我对于参数的验证大都在需要用到某一个参数的地方才会对这个参数进行验证,但是在很多情况下这样会出现很多问题,比如:public class CodeSpecification { @Autowired Stra...

2020-03-07 16:43:50 249

原创 springboot中怎么做到设计到多个表的数据回滚

在实际开发中我们经常会遇到一种问题,就是前端给我们传过来一条数据,这一条数据需要同时插入多个表中,其中如果涉及到事务的回滚应该怎么办。实际情景如下:前端传来一条数据,共有10个字段。前五个字段我们要存在a表中,后五个字段我们要存在b表中。结果为a表的数据存成功了,b表的数据未成功存入,这时候我们应该是b表数据回滚,a表数据也回滚,那么我们应该怎么实现这种方式呢?...

2020-02-15 22:48:23 2058

原创 如何输出程序的gc日志

阅读GC日志是处理Java虚拟机内存问题的基础技能,它只是一些人为确定的规则,没有太多的技术含量。在写读懂gc日志之前,先来了解一下怎么在idea中输出gc日志吧。1.就拿我这个测试方法来说 @Test public void gclog(){ System.out.println("222"); int a = 1024*1024; ...

2020-02-12 22:46:52 2170 1

转载 堆和栈的概念和区别

在说堆和栈之前,我们先说一下JVM(虚拟机)内存的划分:Java程序在运行时都要开辟空间,任何软件在运行时都要在内存中开辟空间,Java虚拟机运行时也是要开辟空间的。JVM运行时在内存中开辟一片内存区域,启动时在自己的内存区域中进行更细致的划分,因为虚拟机中每一片内存处理的方式都不同,所以要单独进行管理。JVM内存的划分有五片:寄存器;本地方法区;方法区;栈内存;...

2020-02-10 10:59:01 149

原创 Windows 2012 R2搭建公共的mysql8.0

最近闲着无聊写了个小demo,想部署到服务器上,鉴于之前在Linux上部署过程有点繁琐,这次就直接买了个Windows系统镜像的服务器,在搭建MySQL的时候有些注意事项。1.官网下载MySQL8.0的安装包2.拷贝到服务器3.安装4.开放服务器端口,需要注意一下的是Windows 2012 R2的服务器没有安全组这个东西,所以开放端口的时候是在防火墙中开放的这样你用自己电脑就可以访问...

2019-12-17 09:16:08 364

原创 4行代码将一个String字符串拆分为一个List集合

String t = "听说明天有台风!"; List<String> listString = new ArrayList<>(); for(char tt:t.toCharArray()){ listString.add(String.valueOf(tt)); }这是获得的listStri...

2019-11-28 09:14:13 808

原创 springboot整合hutools(一)之json数据转换修改

首先将hutools整合进springboot项目中。https://hutool.cn/docs/#/详细的可以参考这个文档在pom文件中引入 <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</arti...

2019-11-15 16:26:32 7581

翻译 阿里巴巴Java开发手册

前言《阿里巴巴Java开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一线实战的检验及不断的完善,系统化地整理成册,反馈给广大开发者。现代软件行业的高速发展对开发者的综合素质要求越来越高,因为不仅是编程知识点,其它维度的知识点也会影响到软件的最终交付质量。比如:数据库的表结构和索引设计缺陷可能带来软件上的架构缺陷或性能风险;工程结构混乱导致后续维护艰难;没有鉴权的漏洞代...

2019-11-13 14:44:03 587

原创 navicat连接MySQL8.0时出现1251错误

1251 -Client does not support authentication protocol requested by server;consider upgrading MySQL clientNavicat连接MySQL8.0时,出现这个错误,记录一下解决办法。1.打开MySQL的控制台2.输入自己设置的密码mysql> alter user root@localh...

2019-08-31 18:54:58 208

原创 angular通过路由实现组件之间的跳转(不是angularjs)

不知道为什么明明angular都到8了,从网上搜个angular的东西搜出来的都是angularjs的东西,虽然js和ts换汤不换药,但是对于我这种前端小白来说,写法上差一点我都要研究半天。好了言归正传,讲一下angular组件跳转的几种方式吧。一、window.location.assign(‘配置的路由地址’)首先,我们知道,从angular2开始,一个前端项目就只有一个html页面了,所...

2019-08-10 16:42:13 1826

原创 angular与springboot实现文件的上传以及照片回显

angular与springboot实现文件的上传以及照片回显近期进入公司,开始接触angular,并要求使用angular+springboot做一个小例子,其中涉及到了照片上传这方面的知识,做出来以后记录一下踩过的坑,希望之后再做这类功能的时候不要再犯。文件上传从前端开始说起,我先把代码贴上,这是文件上传组件的html界面,angular的构造我就不写了,自己看一下官方文档应该就都能明白...

2019-08-09 17:50:11 2051 1

空空如也

空空如也

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

TA关注的人

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