链接 知乎https://www.zhihu.com/question/19773379 总结符合一定规范的编写的Java类,不是一种技术,而是一种规范。大家对于这种规范,总结了很多开发技巧,工具函数。1、所有属性为private2、提供默认构造方法3、提供getter和setter4、实现serializable接口 在java1996年发布,当
1.异常说明: mapper.updateById()时, set为null 未生效,其他字段更新 periodRecordOriginal.setSettleTime(null); periodRecordOriginal.setActualSettleTime(null); periodReco
加载过程 其中验证,准备,解析合称链接 加载通过类的完全限定名,查找此类字节码文件,利用字节码文件创建Class对象. 验证确保Class文件符合当前虚拟机的要求,不会危害到虚拟机自身安全. 准备进行内存分配,为static修饰的类变量分配内存,并设置初始值(0或null).不包含final修饰的静态
一、工具/原料 安装好IDEA 二、方法/步骤 1.打开IntelliJ IDEA 编辑器,点击“File”, 并选择”Settings…”. 2.找到”Editor” —> Color Scheme —> General —> Text —-> Default text,点击”Background
概念介绍垂直拆分 垂直拆分就是要把表按模块划分到不同数据库表中(当然原则还是不破坏第三范式),这种拆分在大型网站的演变过程中是很常见的。当一个网站还在很小的时候,只有小量的人来开发和维护,各模块和表都在一起,当网站不断丰富和壮大的时候,也会变成多个子系统来支撑,这时就有按模块和功能把表划分出来的需求
//先将字符串转为list 集合 List<Object> list =JSON.parseArray(bxInsertOrderVo.getTourist()); //然后循环遍历list集合强转为map集合 (可以new新集合把转换后的值put进去,list集合中有多个map时,应在循环里new
正负 分布,分片 逆向思维
java线程的五种基本状态1.新建状态(new):当线程对象创建后,即进入新建状态,如Thread t=new MyThread();2.就绪状态(Runnable):当调用线程对象的start()方法(t.start()),线程即进入就绪状态,处理就绪状态线程,只是说明当前线程做好了准备,随时准备
对象头:synchronized用的锁是存在Java对象头里的。Java对象头里的Mark Word里默认存储对象的HashCode、分代年龄和锁标记位,主要用来表示对象的线程锁状态。 栈帧:也叫过程活动记录,是编译器用来实现过程/函数调用的一种数据结构。 锁会随着线程的竞争情况逐渐升级,偏向锁 =
1、一般进行批处理时会将数据加入到一个临时的集合中,当数据量达到一定大小后进行下一步操作,数据量不足时需要进行额外的判断; 2、若使用Java8的Stream流中的 skip + limit 则可以让我们对集合方便快捷的操作,其中:(1)skip(x):返回丢弃流中的前x个元素后剩下元素组成的新流;
前言 在使用RestTemplate的getForObject()方法时一直报错,原来是因为使用map传参需要固定RestTemplate访问的url格式。比如我想携带appId和appKey这两个参数,就得在url里面显示声明出来,特此记录一下 解决 RestTemplate restTempla
mybatis 中 SQL 写在mapper.xml文件中,而xml解析 < 、>、<=、>= 时会出错,这时应该使用转义写法。 < <= > >= & ' " < <= > >= & ' "
背景:虽然有GitHub、GitLab这样强大的Git仓库,但是涉及私有Git库要收费,所以自己动手搭建免费的用用 环境:windows 7 旗舰版、JDK 1.8、IDEA 2017 1、Gitblit服务器搭建 1.1、
@requestBody注解常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,比如说:application/json或者是application/xml等
程序员经常要面临的一个问题就是:如何提高程序性能? 这篇文章,我们循序渐进,从内存、磁盘I/O、网络I/O、CPU、缓存、
前言 随着科技社会的发展, 程序员的工作不再作为一个神秘的特殊行业, 程序员的生活也只是万
一.写在前面 首先,本篇文章并没有涉及原理,而是在笔者撸了《深入理解Java虚拟机》好几遍的基础上讲解自己的经验
设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。1995 年,GoF(Gang of Four,四人组/四人帮)合作出版了《设计模式:可复用面向对象软件的基础
Excel作为一种常用的数据存储格式,在很多项目中都会有相应的导入导出的功能。这篇文章会介绍如何使用Java操作Excel,以及如何解决大文件读写时内存溢出的问题。
其实我们写代码的时候一直都在使用for循环,但是偶尔还是会纠结用哪一个循环。 一、基础的for循环 0、使用while也是一种循环方式,此处探究for相关的循环
不得不说 idea 真的很强大,认真花一些时间,好好研究研究 idea 可以让你编写代码更加的高效,并且 idea 时不时会给你一些惊喜的,比如今天要分享的这个
昨天听一同事讲到自己的项目中因为格式化时间用到了"YYYY-MM-dd",元旦当天被喊回去改Bug,到底是怎么回事哪? 我们先看一下什么情况!
首先大家都清楚,Mybatis里面传参方式分别有使用 #{} 和 ${}。 对于使用$符存在安全问题的,该篇不做分析和介绍(其实就是如果传参的话,使用$需要手动拼接‘ ' ,这就存在注入的风险) 接下来,进入正题,通过简单举例介绍, #{} 第一种情形,传入单个参数 userId service层:
在谈论equals和==的区别前,我们先简单介绍一下JVM中内存分配的问题。 在JVM中 内存分为栈内存和堆内存。二者有什么区别呢? 当我们创建一个对象(new Object)时,就会调用它的构造函数来开辟空间,将对象数据存储到堆内存中,与此同时在栈内存中生成对应的引用,当我们在后续代码中调用的时候
最近正值春招,一直在给公司招聘 Java 程序员,我从 2015 年做 TeamLead
创建型模式 工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模
过去一年以来,一批来自欧美的、不墨守陈规的系统管理员和开发人员一直在谈论一个新概念:DevOps。DevOps就是开发(Development)和运维(Operations)
前言 在 B/S 系统中,登录功能通常都是基于 Cookie 来实现的。当用户登录成功后,一般会将登录状态记录到 Session 中,或者是给用户签发一个 Token,无论哪一种方式,都需要在客户端保存一些信息(Session ID 或 Token ),并要求客户端在之后的每次请求中携带它们。在这样
最近,有同学在群里说,他的IDEA控制台打印的日志超过一定的大小,就会被IDEA 给“吃”掉。 这里,统一给大家答疑一下,其实IDEA为了节约资源,对在控制台的日志进行了限制,默认缓冲区的输出日志大小是1024kb,超出这个限制就会被清除,而且还会显示「too much output to proc
@Test public void date20220328(){ NumberFormat nf = NumberFormat.getPercentInstance(); nf.setMaximumFractionDigits(1); nf.setMinimumFractionDigits(1);
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号