- 博客(76)
- 收藏
- 关注
原创 从 7 分钟到 10 秒,Mybatis 批处理真的很强
这篇文章会一步一步带你从一个新手的角度慢慢揭开批处理的神秘面纱,对于初次写Mybatis批处理的同学可能会有很大的帮助,建议收藏点赞~处理批处理的方式有很多种,这里不分析各种方式的优劣,只是概述ExecutorType.BATCH这种的用法,另学艺不精,如果有错的地方,还请大佬们指出更正。问题原因在公司写项目的时候,有一个自动对账的需求,需要从文件中读取几万条数据插入到数据库中,后续可能跟着业务的增长,会上升到几十万,所以对于插入需要进行批处理操作,下面我们就来看看我是怎么一步一步踩坑的。..
2022-05-10 15:31:54
491
原创 SpringBoot 巧用全局处理器,优雅的解决参数校验
目录一、为什么使用 @Valid 来验证参数二、@Valid 注解的作用三、@Valid 的相关注解四、使用 @Valid 进行参数效验步骤 实体类中添加 @Valid 相关注解 接口类中添加 @Valid 注解 全局异常处理类中处理 @Valid 抛出的异常 五、SpringBoot 中使用 @Valid 示例 Maven 引入相关依赖 自定义个异常类 自定义响应枚举类 自定义响应对象类 自定义实体类中添加 @Va
2022-05-10 15:29:34
391
原创 起飞,年薪40万
5月了,不知道大家是不是已经从"铜三铁四"的裁员浪潮中缓过来了,不幸被裁的话也不要太焦虑,招聘机会还是很多的,最近就有很多同学留言说面试上了新公司了,其中大厂的不在少数,还有很多同学说:新公司年薪四十多万,涨薪幅度比上家高了50%,后悔跳晚了。大挑战,大机遇,大未来,裁员几乎年年都有,不要因为今年的裁员潮大了点就灰心,该跳还是得跳,毕竟跳槽可是程序员加薪的最快途径。分享一套阿里P8大佬整理的2022Java进阶学习路线+高频面试题合集,这套合集认真撸完的话,对冲刺大厂和升职涨薪非常有帮助
2022-05-09 19:40:22
852
原创 Git使用的小技巧
在日常工作中,经常会用到Git操作。但是对于新人来讲,刚上来对Git很陌生,操作起来也很懵逼,下面为大家详细讲解一下git使用的小技巧。一、Configuration:配置列举所有的别名与配置gitconfig--listGit 别名配置gitconfig--globalalias.gitconfig--globalalias.ststatus设置git为大小写敏感gitconfig--globalcore.ignorecasefals...
2022-05-09 17:27:08
626
原创 学SQL,我是这么刷的
写这篇文章的原因是最近朋友来向我请教SQL要怎么学。所以我也就准备借此机会写一文,连带着回答这位朋友一起了。熟悉我的朋友,一定知道我一直没有做SQL方向的刷题模板,甚至没有给总结过SQL的刷题经验,其实曾经向我提议做SQL方向刷题教程的人也有不少,但是我也一直没有动工,那是因为我发现有一个已经整理得不错的刷题模板可用了,可以看牛客网的SQL专题。地址:https://www.nowcoder.com/link/wx_sqlcarl199可能大多数的朋友对牛客网的认知还是一个做职业、求职的平台
2022-05-09 17:24:12
529
原创 Linux系统部署Hadoop集群详细教程
Hadoop是大数据中一个能够对大量数据进行分布式处理的软件框架。 Hadoop 以一种可靠、高效、可伸缩的方式进行数据处理,下面将和大家介绍一下hadoop以及Linux系统安装Hadoop得详细步骤。Hadoop简介: Hadoop是Apache旗下的一个用java语言实现开源软件框架,是一个开发和运行处理大规模数据的软件平台 Hadoop允许使用简单的编程模型在大量计算机集群上对大型数据集进行分布式处理。 狭义上说,Hadoop指Apache这款开.
2022-05-07 17:03:21
1830
原创 Linux系统部署web服务器
一、web服务器的简介网页服务器(Web server)一词有两个意思: 一台负责提供网页的电脑,主要是各种编程语言构建而成,通过HTTP协议传给客户端(一般是指网页浏览器)。 一个提供网页的服务器程序主要想法是:使用虚拟机的Ubuntu系统搭建http服务器,然后在window的浏览器上测试1.先测试windows和虚拟机上的ubuntu能否相互ping通2.下载http.tar.gz并拷贝到linux系统的工作目录下3.解压该文件tar -vxzf http.tar...
2022-05-07 16:22:24
1857
原创 Linux系统中top命令详解
在Linux系统中top命令是常用的分析性能的工具,能够实时监控系统中各个进程资源占用的情况,这和windows中任务管理器有点类似。top参数详解第一行,任务队列信息,同 uptime 命令的执行结果系统时间:07:27:05运行时间:up 1:57 min,当前登录用户: 3 user负载均衡(uptime) load average: 0.00, 0.00, 0.00 average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。load average数.
2022-05-06 20:25:52
37654
1
原创 面过了,起薪30k
最近很多同行群里纷纷发言“即将失业”,还有的已经失业,目前待业中。不过也有很多的同学留言发帖说大厂面试通过了,起薪30k,有人失业也有人就业。现在行业趋势确实不太好,因为疫情和裁员的影响即将失业的程序员一大把。这种市场环境下原本想跳槽的都选择暂时观望,这样也失去了很多加薪的机会。不过有人失业也有人就业,大厂核心赛道还不是一直在招人,关键就是如何进入核心赛道——提升自我核心价值,拥有不可替代能力!!分享一套阿里P8大佬整理的2022Java进阶学习路线+高频面试题合集,希望大家都可以提高.
2022-05-06 20:24:58
9886
12
原创 老程序员被新程序员克制的死死的?
之前参加了一个深圳本地的线下沙龙,去的时候这个活动已经进行开始,刚坐下来不久,就听一个新程序员问一个老程序员的一个问题,引起了大家的热议。年轻的程序员的问题是这样子的,他说现在新技术更新太频繁了,过个两三年就会出现一个新的框架,比如早些年非常流行的 Struts 说淘汰就淘汰了,好不容易掌握了 Spring ,现在又出现了 Spring Boot、Spring Cloud 框架,根本就学不过来。那么作为一名老程序员和一名新程序员在面对新技术的时候是站在一个水平线上的,但明显刚入行的程序员精力更旺盛一
2022-05-05 21:21:58
202
原创 Oracle 常用运维命令整理
一、oracle建库与删库命令(1)oracle11g建库(一般习惯配置gdbname与sid名一样,sys密码与system密码一样,以方便记忆)[oracledb@~]$dbca-silent-createDatabase-templateName/u01/oracle/product/11.2.0/dbhome_1/assistants/dbca/templates/General_Purpose.dbc-gdbnameGDBNAME-sidSIDNAME-chara...
2022-05-05 19:44:37
1241
原创 头条三年去阿里一面,没过
某程序员心中很是不满,发帖吐槽:我在头条有三年的工作经验,面试阿里竟然一面就被干掉了?我不服阿里一面1.一般的SQL优化思路?2.为什么业务选用Cassandra做数据库?3.Nginx 负载均衡策略,有哪些负载均衡算法?4.HashMap 底层原理?查询的时间复杂度?5.ConcurrentHashMap?6.volatile作用及其底层原理?7.Sychorinized和Lock区别?8.线程有哪几种创建方式?9.线程池几个核心参数,说一下?基本原理?
2022-05-05 19:41:03
236
原创 Shell设置变量的方法
有许多重要的值都存储在Linux系统中,我们称为“变量”,但实际上变量有几种类型,并且一些有趣的命令可以帮助你使用它们。我们研究了环境变量以及它们定义在何处。下面就给大家介绍下shell设置变量的方法,希望对大家有所帮助。定义变量时,变量名不加美元符号($,PHP语言中变量需要),如:your_name="liangxu.net"注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则: 命名只能使用英文字母,数字和下划线,首个.
2022-05-04 15:43:20
1760
原创 60,000 毫秒内对 Linux 进行性能诊断
当你发现 Linux 服务器上的系统性能问题,在最开始的 1 分钟时间里,你会查看哪些系统指标呢?Netflix 在 AWS 上有着大规模的 EC2 集群,以及各种各样的性能分析和监控工具。比如我们使用 Atlas 来监控整个平台,用 Vector 实时分析 EC2 实例的性能。这些工具已经能够帮助我们解决大部分的问题,但是有时候我们还是要登录进机器内部,用一些标准的 Linux 性能分析工具来定位问题。在这篇文章里,Netflix 性能工程团队会介绍一些我们使用的标准的 Linux 命令
2022-05-04 15:40:42
353
原创 Linux系统中安装curl
curl是一个使用URL语法在命令行下使用的文本传输工具,下面为大家分享一下如何安装curl。curl简介:curl是一个广泛使用的用来上传和下载的命令行工具,当然严格来讲,它还可以有别的用途。对于测试来讲,它是Web相关测试非常实用的工具,包括debugging,使用起来非常方便。而且另一方面,因为它是纯命令行的工具,所以也可以非常方便的作为一个组件集成到automation或者其他的测试框架里面,将HTTP/HTTPS/FTP相关的上传和下载等任务交给它。Linux系统安装curl
2022-04-30 19:18:50
14403
原创 八股文都不背,你去面试?
程序员面试,就是一场古代科举考试,八股文就是考试中的古诗词填空,背好了就拿分的题。这分拿不到你语文不会真的是体育老师教的吧?疫情反复,裁员盛行,跳槽面试的一大堆,包括我也是这其中的一员,作为刚刚上岸成功的来给大家说说我的面试经验。面试前如果因为八股文没有过,原因就两个,一是没有背全,二是背的资料不行,前者看看你面试的薪资就有动力了,后期就是我要说的重点了。今天就给大家分享下帮我面试成功的一份宝典2022Java进阶学习路线+高频面试题合集,包含JVM,多线程&并发篇,Sp
2022-04-30 19:17:16
3296
原创 囤了一堆offer。。。
疫情当下,很多身旁的同事和朋友有些在居家办公,而有些小厂因为坚持不住面临着裁员,而在这波疫情开始的时候我就离职了并且面试了多家一线的大厂,现在有很多公司也发来了录取书。所以当大家因为疫情被困在家明天忙着囤菜的时候,我却手上囤了一堆offer,也不知道是该哭还是笑。。。有句话说得好:有一种幸福的烦恼叫做选offer,Offer多了也愁选,有选择困难的人更是头痛。疫情终究是会过去的,不过要是等到那时候估计有点迟了,正好趁着这段时候大家在居家的时候可以好好的学习下技术和面试技巧,等到疫情缓解的时候就可以选
2022-04-29 19:45:32
2434
原创 Linux中安装和使用Translate Shell
Translate Shell 是一个支持 Google Translate、Bing Translator、Yandex.Translate 和 Apertium 翻译引擎的命令行翻译器,默认使用的是 Google Translate 引擎,下面为大家讲解一下Linux中安装和使用Translate Shell具体方法。如何安装 Translate Shell有三种方法安装 Translate Shell。 下载自包含的可执行文件 手工安装 通过包管理器安装 方法
2022-04-29 19:29:36
967
2
原创 详解Python 基础知识
Python 语言与 Perl,C 和 Java 等语言有许多相似之处。但是,也存在一些差异。在本章中我们将来学习 Python 的基础语法,让你快速学会 Python 编程。python函数函数通过def关键字定义,形如pythondeffunction(arg1,arg2,...):...fuction(1,2,...)#callfunctionDocStrings文档字符串DocStrings文档字符串是一个重要工具,用于解释文档程序。```pytho...
2022-04-29 19:27:22
409
原创 如何使用Python连接MySQL
现在Python成为人工智和大数据编程的重要语音,既然是编程语言就多多少少会需求对数据进行操作,本篇文章重点为大家讲解一下使用Python连接MySQL具体方法。1、MySQL-pythonMySQL-python 又叫 MySQLdb,是 Python 连接 MySQL 最流行的一个驱动,很多框架都也是基于此库进行开发,遗憾的是它只支持 Python2.x,而且安装的时候有很多前置条件,因为它是基于C开发的库,在 Windows 平台安装非常不友好,经常出现失败的情况,现在基本不推荐使用,取代
2022-04-28 15:51:26
776
原创 常见的Python开发工具
Python的应用实用性极高,Web开发,数据分析计算和数据可视化(高境界玩家可达机器学习)、脚本,而且上手难度比较友好,所以业内有一定欢迎程度,本篇文章为大家分享一下几种常见python工具。Python TutorPython Tutor 是由 Philip Guo 开发的一个免费教育工具,可帮助学生攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。通过这个工具,教师或学生可以直接在 Web 浏览器中编写 Python 代码,并逐步可视化地运行程序。如果你不知道代码在内
2022-04-28 15:50:20
225
原创 非常神奇的Linux技术:BPF
近两年BPF技术跃然成为了一项热门技术,在KubeCon 2020 Europe会议上有7个关于BPF的技术分享, 而在KubeCon 2020 China会议上也已有了3个关于BPF技术的中文分享,分别来自腾讯和PingCAP,涉足网络优化和系统追踪等领域。在中文社区里,包括阿里巴巴、网易、字节跳动等国内第一梯队IT公司也越来越关注BPF这项新技术。一、前言作为一个coder,时不时会遇到性能问题,有时候明明看资源,cpu,io都占用不高,程序的性能就是上不去,真有一种想进入到计算机里面看看到底发
2022-04-27 20:33:01
3412
原创 看完这个去面试,稳过~~
兄弟们,大厂还在大力招人,昨天上午面试的,下午就给发了offer了,不过面试难度有点高,在家看了两周大厂内部大佬给的资料。最近不是裁员搞得很凶,上个月我也是成了这裁员大军中的一个,在家颓了半个月去面试了好几家都没有过,清明放假的时候找之前认识的阿里p8大佬拿了一份内部的面试资料,认真看了两周,昨天上午去面试的,下午通知我过了然后就给发了offer。有福同享,今天就给大家分享这个p8大佬整理的跳槽面试的宝典2022Java进阶学习路线+高频面试题合集,涵盖:Java基础,JVM,多线程
2022-04-27 20:11:11
2224
2
原创 Java Math使用方法
Math类包含完成基本数学函数所需的方法。这些方法分为三类:三角函数方法、指数函数方法和服务方法。除了这些方法以外,Math类还提供了PI(π)和E(自然对数的底)可以直接使用Math.PI和Math.E来使用这两个常量。数值运算 Math类1.概述出自java.lang包(核心包,提供对java编程语言设计至关重要的类,可以直接使用,不用import);Math类包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数publicfinalclassextendsO...
2022-04-26 17:24:55
1104
原创 讲解一下Java内存模型
Java内存结构是每个java程序员必须掌握理解的,这是Java的核心基础,对我们编写代码特别是并发编程时有很大帮助。由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分。Java内存模型的规定:所有变量存储在主内存中;每个线程都有自己的工作内存,且对变量的操作都是在工作内存中进行;不同线程之间无法直接访问彼此工作内存中的变量,要想访问只能通过主内存来传递。Java的线程、工作内存、主内存关系如下图所示:具体变量从主内存到工作内存
2022-04-26 17:23:22
120
原创 Linux系统安装Java环境
本篇文章来教大家在 Linux 系统上部署 Java 开发环境,这个技能其实还是蛮重要的,因为现在 Java 其实算是比较热门的一个编程语言,如果部署 Java 环境,那么就可以在 Linux 上运行 Java 程序了,本篇文章重点在 Java 的安装步骤上,作者会一步步教大家,感兴趣的朋友认真学起来。环境说明: 系统版本:CentOS Linux release 7.6.1810 (Core) 远程连接工具:Xshell Java 版本:jdk-8u271-linux-x64
2022-04-25 20:52:33
527
原创 详解java反射
相信很多人都知道反射可以说是Java中最强大的技术了,它可以做的事情太多太多,很多优秀的开源框架都是通过反射完成的,本篇文章重点讲解一下java反射。1. 什么是反射?什么是反射?在官方文档中是这样说的: Reflection is commonly used by programs which require the ability to examine ormodify the runtime behavior of applications running in the Java virtua
2022-04-25 20:46:35
148
原创 Java Switch分支语句
Switch分支语句,主要提供一个选择功能,现在学习的比较初级,可以将其与if语句进行区分,if语句可以进行选择的比较简单只是单纯的进行真假的划分,即布尔类型的使用,而switch语句使用类型就比较宽泛了,包括byte、short、int、char、string、枚举等。一、switch语法switch语句的语法如下:switch(expr){casecondition1{//代码块...break;}casecondition2{//代码块...break;}.....
2022-04-25 19:18:56
184
原创 Java随机数的坑你踩过吗
随机数我们应该不陌生,业务中我们用它来生成验证码,或者对重复性要求不高的id,甚至我们还用它在年会上搞抽奖。今天我们来探讨一下这个东西。如果使用不当会引发一系列问题。随机数我们应该不陌生,业务中我们用它来生成验证码,或者对重复性要求不高的id,甚至我们还用它在年会上搞抽奖。今天我们来探讨一下这个东西。如果使用不当会引发一系列问题。Java中的随机数我们需要在Java中随机生成一个数字。java开发中我们通常使用java.util.Random来搞,它提供了一种伪随机的生成机制。Jvm 通过传
2022-04-25 19:17:35
445
原创 通过java实时读取日志文件
在实习的公司碰到一个古怪的需求:在一台服务器上写日志文件,每当日志文件写到一定大小时,比如是1G,会将这个日志文件改名成另一个名字,并新建一个与原文件名相同的日志文件,再往这个新建的日志文件里写数据;要求写一个程序能实时地读取日志文件中的内容,并且不能影响写操作与重命名操作。 RandomAccessFile类中seek方法可以从指定位置读取文件,可以用来实现文件实时读取。编码实现写日志文件,每秒写200条记录,并且记录写的时间importjava.io.File;importjav..
2022-04-22 16:22:50
3583
1
原创 JavaScript中输出方法
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。JavaScript 显示数据JavaScript 可以通过不同的方式来输出数据:使用window.alert()弹出警告框。使用document.write()方法将内容写到 HTML 文档中。使用inn...
2022-04-22 16:21:02
435
原创 JAVA的反射机制大总结
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制,本篇文章为大家详细讲解一下JAVA的反射机制。一、Class类在程序运行期间,Java运行时系统始终对所有的对象维护一个被称为运行时的类型标识。这个信息跟踪着每个对象所属的类。虚拟机利用运行时类型信息选择相应的方法执行。可以通过专门的Java类访问这些信息。保存这些信息的类被称为Class。
2022-04-21 19:27:53
235
原创 详解JavaScript原始值和复杂值
Javascript的数据类型可以分为两种:原始类型和引用类型。原始类型也称为基本类型或简单类型,javascript基本数据类型包括Undefined、Null、Boolean、Number和String五种,而引用类型也称为复杂类型,在Javascript中是Object。与此相对应,它们的值也分别被称为原始值和复杂值特性原始值原始值是表示Javascript中可用的数据或信息的最底层形式或最简单形式。原始类型的值被称为原始值,是因为它们是不可细化的。也就是说,数字是数字,字符是字符,布
2022-04-21 19:26:49
70
原创 36 张图带你理解,计算机网络 6 大基础知识点
一、计算机网络概述1.1 计算机网络的分类按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网(LAN);按照网络使用者:公用网络、专用网络。1.2 计算机网络的层次结构TCP/IP四层模型与OSI体系结构对比:1.3 层次结构设计的基本原则 各层之间是相互独立的; 每一层需要有足够的灵活性; 各层之间完全解耦。 1.4 计算机网络的性能指标速率:bps=bit/s 时延:发送时延、传播时延、排队时延、处理时延 往返时间RT
2022-04-20 16:31:10
172
原创 妙用Java8中的“Function”消灭if...else
Function函数式接口 Supplier供给型函数 Consumer消费型函数 Runnable无参无返回型函数 Function函数的表现形式为接收一个参数,并返回一个值。Supplier、Consumer和Runnable可以看作Function的一种特殊表现形式 使用小技巧 处理抛出异常的if 处理if分支操作 如果存在值执行消费操作,否则执行基于空的操作 在开发...
2022-04-20 16:07:55
171
原创 讲解一下JavaScript中的对象
我们知道生活中客观存在的一切事物皆为对象,那在程序中的对象是什么样子呢?我们可以将程序中的对象理解为客户端世界中的对象在一种计算机中的一种表示方式.所有的编程语言中提到的对象其性质都是类似的,它往往对应内存中的一块区域,在这个区域中存储对象的属性或方法信息。一、类在面向对象编程中,对象是一个类的实例,类定义了一组公开的属性和方法。类简化了同一类型的多个对象的创建。1 var star = {}; //组装一个star对象 2 star[“Polaris”] = new Object; 3 s
2022-04-19 16:15:30
103
原创 讲解一下java枚举(enum)以及使用方法
在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”。enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性,存放在 Java.lang 包中,在上面的这种情况下,enum就能派上用场了。枚举类型的用途不仅如此,具体可用场景可看下面的介绍1、常量以前我们定义一个常量通常都是使用 public static final
2022-04-19 16:10:35
6365
原创 讲解一下java中的字符串和日期操作
字符串和日期操作时java开发中经常涉及到的两个方面,本篇文章重点为大家讲解一下java中的字符串和日期操作,有需要的小伙伴可以参考一下。一、Java字符串操作创建字符串Strings2=newString("HelloWorld");Strings1="HelloWorld";1.字符串连接多个字符串链接时,每个字符串之间用+相连,+就是字符串链接,连接之后生成一个新的字符串。2.获取字符串长度 a.lenght()根据索引从0开始,截取字符串长度...
2022-04-19 16:09:21
723
原创 运维人员常用 Linux 命令汇总
一.文件和目录 cd命令,用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。 cd/home进入'/home'目录cd..返回上一级目录cd../..返回上两级目录cd进入个人的主目录cd~user1进入个人的主目录cd-返回上次所在的目录 pwd命令,显示工作路径 [root@liangxu~]#pwd/ro...
2022-04-18 16:50:12
1028
原创 被遗忘的 10 个Linux命令
1)pgreppgrep名字前有个p,我们可以猜到这和进程相关,又是grep,当然这是进程相关的grep命令。不过,这个命令主要是用来列举进程ID的。如:$pgrep-uhchen2244122444这个命令相当于:ps-ef|egrep'^hchen'|awk'{print$2}'2)pstree这个命令可以以树形的方式列出进程。如下所示:[hchen@liangxu~]$pstreeinit-+-acpid|-auditd-...
2022-04-18 16:47:52
84
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人