主要从事 Java 后端开发。
能力说明:
精通JVM运行机制,包括类生命、内存模型、垃圾回收及JVM常见参数;能够熟练使用Runnable接口创建线程和使用ExecutorService并发执行任务、识别潜在的死锁线程问题;能够使用Synchronized关键字和atomic包控制线程的执行顺序,使用并行Fork/Join框架;能过开发使用原始版本函数式接口的代码。
阿里云技能认证
详细说明个人理解过后的思路整理
前段时间因为当前项目比较闲,被换到其他项目组做事情。换项目组带来的问题是,需要下载新的项目,并配置新的开发环境。这次换项目的过程中,有个环节让我花了不少时间折腾,以下就是遇到的问题。
最近听说阿里云云效出了新版本,界面以及功能有很大的改进。对于程序员来说,最最重要的是什么?—— 代码。本次就阿里云云效的代码托管进行体验,以下是这次体验的感受。
从《Java开发手册》面世以来,从最开始的版本到现在的泰山版,每一个版本我都学习过。如果说要我从中总结出一些经验来,那么我对《Java开发手册》的学习分成了三个阶段:阅读、实操与理解。
概述: 在书架上摆着一些书,这些书只有两种颜色,要么是黄色,要么是蓝色,突然某一天这些书被施了魔法,如果一本黄色和一本蓝色的书挨着,这两本书就会消失不见,然后右边的书会往左边移动,直到和左边的书挨着,如果这两本颜色不同,这两本书又会神秘消失。现在给你一个只包含A和B的字符串s(1<=|s|<=100000),其中A表示黄色的书,B表示蓝色的书,问这n本书中最多会消失多少本书。 输入一个字符串s,s中A表示黄色的书,B表示蓝色的书 输出最多会消失多少本书
之前写过一篇关于 in 与 not in 问题的文章(结合 Mybatis,探讨 Oracle 中 in 与 not in 的陷阱),现在在扩展一下,谈谈 Mybatis Plus 单表操作时 in(not in) 的相关问题。
今天说一个小问题,依赖包的下载。虽然看起来是小事,但是一不小心也能折磨你一整天。之前有个依赖包就困扰了我一段时间,oracle 的依赖包。依赖关系如下: com.oracle ojdbc6 11.2.0.1.0 基本上把 IDEA 中 Maven Projects 里能点的功能都点了好几遍,均无法下载此依赖包。
可能有些人没遇到过 list.forEach 中变量必须为 final 的问题,那就先举两个例子 示例1,如下: public static void main(String[] args) { List<String> stringList = new ArrayList<>(); stringList.
经常会有人这么对 list 进行遍历,错而不自知。 示例代码如下: public static void main(String[] args) { List<String> list = new ArrayList<>(); list.
从项目开始使用 Mybatis Plus 到现在,对 Mapper 传递参数的方式做了多个版本的改进和优化。这篇文章主要讲解在改版和优化过程中遇到的问题,以及当时的一些想法。 第一版:单个参数传递 传递方式如下: UserMapper.
因为表变动而导致的实体变动问题,出现这种情况较多的是版本迭代的时候。 项目开发初期,表变动导致的代码改动量相对较小,改动后出现的问题也比较少。而在项目迭代的过程中,因为项目已经成型,大部分代码的逻辑和用法都已固定。
一、Oracle 中的 in 与 not in 1. 正常情况下的使用 查询语句使用 in 和 not in 的例子 --表:T_USER,USER_ID 有 1,2,3,4,5,6 --查询 userId 中包含1,2,3的数据 --查询结果:1,2,3 SELECT * FROM T_USER T WHERE T.
之前我写过一篇文章叫做,《SQL 中 关于Left Join 转为 Inner Join 的问题》。文章中给出的一个结论是:左关联的查询语句中,只要有 where 的过滤条件,那么该语句将被转为内关联。
一般情况下,对表格中的数据进行“增删改”操作,都是直接操作数据库。现在有些项目因为设计或者优化的缘故,不对表格中的数据进行“增删改”,而是通过最后“保存”按钮的操作,一次性将数据传至服务器,由服务器对数据进行“增删改”。 以下通过给用户分配角色这样的功能进行说明。
当需要将两张不同表的数据进行合并处理,并且两张表的主键均为自增,主键同是数字。这时候需要区分的、不同的表进行取值,可以使其中一张表的主键为负数,即-1,-2,-3。 当需要把取出来的两张表分别再存进数据库时,要将之前取值是负数的主键转为正数,而转为正数的方式也很简单,也就是负负得正,即(-(...
之所以会写日期边界范围的问题,是因为我在查询日期的时候,刚开始数据都能正常获取,但是突然有些数据获取不到。经过一番折腾发现, Oracle 在对日期格式的字段进行查询时,会对字符串进行了隐式转换。 以下就是错误的查询语句 -- create_time 的时间为 2019/3/26 23:00:00 SELECT * FROM T_CLASS T WHERE T.
在写程序的时候,我们经常被教导,要对异常的信息进行处理,哪里该抛出异常。但是,更多的时候,我们只是模仿异常的抛出,却不知道为什么要这样抛异常(被catch了?被向上抛了?后面的代码是否执行了?)。 接下来,我就简单的说一下异常抛出后的代码执行问题。
结论 从下面的测试结果很容易看出,左关联的查询语句中,只要有 WHERE 的过滤条件,那么该语句将被转为内关联。 一、创建表 演示使用,随便创建两张表 --班级表 CREATE TABLE T_CLASS( class_id NUMBER not null, class_name VARC.
经常会有童鞋把 Map 和 Foreach 用错,可能会出现如下用法: List studentChangeList = studentList.stream() .forEach(student -> student.setAge(99)); 有些编译器会直接报错,比如 IDEA。
一、更新依赖关系 当你把依赖从 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>2.
一、Mybatis Plus 2,oracle 自增序列配置 1. config.yml 配置文件 #mybaits-plus配置,修改主键类型,mapper.xml、type 别名等 mybatis-plus: mapper-locations: classpath:/mapper/*Mapper.
解决方法有效的前提是,项目本身是可以正常启动的,但是因为某些原因无法正常启动,原因包括但不限于以下几种: 不小心删除了项目中的文件,导致无法启动 项目很久没更新,更新之后,导致无法启动 项目更新之后出现很多报错信息。
聚能聊的粉丝们(聚丝,听起来像果汁),好久不见。 Hello! 各位社区小伙伴们!好久不见! “爱你就像,蓝天白云,晴空万里,突然暴风雨。” 接下来,让我们一起回顾一下,本周都有哪些热议的话题?各位聊主与粉丝们又有哪些精彩的互动?他们之间又碰撞出了怎样的火花? 接下来,让我们一起回顾一下,近期都有哪些热议的话题。
报错信息:项目启动的时候,一直会报“registered driver with driverclassname=oracle.jdbc.driver.oracledriver was not found, trying direct instantiation.”。
聚能聊的粉丝们(聚丝,听起来像果汁),好久不见。 Hello! 各位社区小伙伴们!好久不见! “爱你就像,蓝天白云,晴空万里,突然暴风雨。” 接下来,让我们一起回顾一下,本周都有哪些热议的话题?各位聊主与粉丝们又有哪些精彩的互动?他们之间又碰撞出了怎样的火花? 接下来,让我们一起回顾一下,近期都有哪些热议的话题。
Hello! 各位社区小伙伴们!好久不见! “爱你就像,蓝天白云,晴空万里,突然暴风雨。” 接下来,让我们一起回顾一下,本周都有哪些热议的话题?各位聊主与粉丝们又有哪些精彩的互动?他们之间又碰撞出了怎样的火花? 接下来,让我们一起回顾一下,近期都有哪些热议的话题。
Hello! 各位社区小伙伴们!好久不见!“爱你就像,蓝天白云,晴空万里,突然暴风雨。”接下来,让我们一起回顾一下,本周都有哪些热议的话题?各位聊主与粉丝们又有哪些精彩的互动?他们之间又碰撞出了怎样的火花? .
1.数据安全话题其实已经是老生常谈,随着大数据时代的到来,数据和敏感信息问题越来越多,同时也越来越被个人、企业乃至国家所重视。2.程序员的工作和日常生活非常的枯燥,但强烈的好奇心和学习精神是一个程序员的秘密武器,它是程序员们永攀高峰的源泉和动力所在。
Hello! 各位社区小伙伴们!好久不见! “爱你就像,蓝天白云,晴空万里,突然暴风雨。” 接下来,让我们一起回顾一下,本周聚能聊里各位聊主与各位粉丝们有哪些精彩的互动!他们又碰撞出了怎样的火花!
后端获取的数据格式为 List ,而前端需求的数据格式为 Json。因此,后端需要将数据重新组装为 Json 格式才能传给前端接收。而在数据重新组装的过程中会遇到这样的问题,在将对象从 List 逐个获取放入另一个 List 时,这个中间对象是在对 List 循环之前创建还是循环中创建。
这几天有一位同事需要做与我一样的功能,而这个功能是我已经开发好了的,他只需直接把我的代码拿去修改就可以。结果,我的代码可以正常运行,他的代码在开启服务之后,控制台就不断有日志输出,开发环境进入了死机状态。
要将一组物品 As 放入盒子 Bs 中,如果盒子有该物品,则不把该物品放入盒子。 即,通过循环数组或者集合,插入数据库中没有的数据。
注意 Mybatis 中,拼接模糊查询的用法 #,是将传入的值当做字符串的形式。所以拼接的时候 #{userName} 默认自带引号。 例如: ${userName} 直接转为 'zhen'。 $,是将传入的数据直接显示生成sql语句。