首页
归档
留言
友链
广告合作
壁纸
更多
美女主播
Search
1
博瑞GE车机升级/降级
5,649 阅读
2
Mac打印机设置黑白打印
5,043 阅读
3
修改elementUI中el-table树形结构图标
4,946 阅读
4
Mac客户端添加腾讯企业邮箱方法
4,705 阅读
5
intelliJ Idea 2022.2.X破解
4,459 阅读
后端开发
HarmonyOS Next
Web前端
微信开发
开发辅助
App开发
数据库
随笔日记
登录
/
注册
Search
标签搜索
Spring Boot
Java
Vue
Mac
Spring Cloud
MyBatis
WordPress
MacOS
asp.net
Element UI
Nacos
MySQL
.Net
Spring Cloud Alibaba
Mybatis-Plus
Typecho
jQuery
Java Script
IntelliJ IDEA
微信小程序
Laughing
累计撰写
629
篇文章
累计收到
1,421
条评论
首页
栏目
后端开发
HarmonyOS Next
Web前端
微信开发
开发辅助
App开发
数据库
随笔日记
页面
归档
留言
友链
广告合作
壁纸
美女主播
搜索到
629
篇与
的结果
2022-05-04
阿里云CentOS 7镜像下载
官网下载链接:http://mirrors.aliyun.com/centos/7/isos/x86_64/各个版本的ISO镜像文件说明:CentOS-7-x86_64-DVD-1708.iso 标准安装版(推荐)CentOS-7-x86_64-Everything-1708.iso 完整版,集成所有软件(以用来补充系统的软件或者填充本地镜像)CentOS-7-x86_64-LiveGNOME-1708.iso GNOME桌面版CentOS-7-x86_64-LiveKDE-1708.iso KDE桌面版CentOS-7-x86_64-Minimal-1708.iso 精简版,自带的软件最少CentOS-7-x86_64-NetInstall-1708.iso 网络安装版(从网络安装或者救援系统)
2022年05月04日
958 阅读
0 评论
1 点赞
2022-03-15
腾讯云老用户免费升级
老用户重磅福利,云服务器标准型1核、2核配置免费升配!我是标准型1核,免费升级成了2核,2核的估计升级成4核。另外还赠送3个月的免费时常。
2022年03月15日
902 阅读
0 评论
0 点赞
2022-02-19
vs2022序列号
自从c#转成Java开发后,也有好几年没用过宇宙第一的IDE-Visual Studio了。现在Visual Studio都更新到2022了。Visual Studio 2022(VS2022) 激活码:Pro:TD244-P4NB7-YQ6XK-Y8MMM-YWV2JEnterprise:VHF9H-NXBBB-638P6-6JHCY-88JWH
2022年02月19日
1,570 阅读
0 评论
0 点赞
2022-02-13
Intellij IDEA 神级插件及配置,效率提升 10 倍!
Intellij IDEA是jetbrains公司出品的一款,几乎现在Java开发人员必备的一款IDE,安装好Intellij idea之后,进行如下的初始化操作,可以让你工作效率提升十倍。插件Codota 代码智能提示插件只要打出首字母就能联想出一整条语句,这也太智能了,还显示了每条语句使用频率。原因是它学习了我的项目代码,总结出了我的代码偏好。Lombok 简化臃肿代码插件实体类中的get/set/构造/toString/hashCode等方法,都不需要我们再手动写了。lombok是一款争议比较大的插件,这个需要大家根据自己团队实际情况,选择是否使用。Alibaba Java Coding Guidelines 阿里巴巴代码规范检查插件会按照阿里Java开发手册上规范帮我们检查代码,然后对代码做不同颜色展示,鼠标放上去,会看到提示内容,帮助我们写出更规范的代码。这款插件特别影响性能,如果是性能比较差的电脑,建议平时可以禁用,按需开启MybatisX 高效操作Mybatis插件SonarLint 代码质量检查插件可以理解为Sonar Qube的插件版本,能够检查代码的质量。比如上图提示我不要用System.out输出,要用logger输出,诸如此类,帮助我们提升代码质量。Statistic 代码统计插件统计代码行数等信息Rainbow Brackets 彩虹括号插件成对儿的括号显示相同的颜色,有了这个插件,我的近视都好了。设置优化导包配置双斜杠注释改成紧跟代码头代码提示取消匹配大小写添加版权信息创建文件时,自动生成作者和时间信息
2022年02月13日
1,567 阅读
0 评论
1 点赞
2022-02-06
MyBatis在xml文件中使用中文字符
大多数情况下,我们在xml中使用if标签的时候,都是判断是否为空或null,像下面这样<if test="carId != null and carId != ''"> and condition </if>但是有时候,我们比较的值可能是字符甚至汉字,其实字符也还好说,正常使用即可,像下面这样<if test="carId != null and carId != 'A'"> and condition </if>但是如果你使用的是汉字,那么事情就没那么简单了。对于汉字的比较,我们可以像下面这样处理<if test="oilType != null and '电'.toString() neq oilType"> and oil_type <![CDATA[<>]]> #{oilType} </if>注意看上面,在汉字后面要加上.toString(),不然会报错。
2022年02月06日
1,917 阅读
0 评论
1 点赞
2022-02-02
MyBatis-Plus更新部分字段
使用MyBatis-Plus时,有时候我们在更新实体时,可能只想更新部分字段。下面介绍两种更新部分字段的方法。一、先查询后更新的方式这种方式不是很好,说白了就是先执行一遍查询,查询到实体后,设置修改的属性,再次调用update方法更新,这样MyBatis只会更新修改的字段。二、通过UpdateWrapper更新 LambdaUpdateWrapper<OilUser> userUpdateWrapper = new LambdaUpdateWrapper<>(); userUpdateWrapper.set(OilUser::getUsername, user.getUsername()); userUpdateWrapper.set(OilUser::getNickName, user.getNickName()); userUpdateWrapper.set(OilUser::getTel, user.getTel()); userUpdateWrapper.set(OilUser::getEmail, user.getEmail()); if (!StringUtils.isEmpty(user.getPassword())) { userUpdateWrapper.set(OilUser::getPassword, passwordEncoder.encode(user.getPassword())); } userUpdateWrapper.eq(OilUser::getId, user.getId()); oilUserMapper.update(null, userUpdateWrapper);注意oilUserMapper.update(null, userUpdateWrapper);,第一个参数一定要设置null,这样就只会更新你set的字段。
2022年02月02日
2,329 阅读
0 评论
3 点赞
2022-01-31
UniApp Android客户端集成高德Web服务
问题最近使用uniapp做了一个记油耗的App。大家有兴趣的可以点击https://lisen.cc/app/oil_note.html查看。在记油耗OilNote中,有一个根据用户地理位置获取附近加油站的功能,我这里使用的是高德地图的Web服务对应的周边搜索功能,搜索对应的poi。一开始,我主要是在微信小程序还有H5进行测试的,系统都能正确获取到附近的加油站信息。我以为既然是web服务,那么应该所有的平台都是一样的,事实证明,我还是太年轻了。我用两台手机测试的,一台是一加8(系统是Color OS 12)、另外一个华为Mate30 Pro(鸿蒙系统,具体版本不清楚),在一加手机,所有定位服务失效,在华为Mate30 Pro,时好时坏。解决其实现在问题解决了,我也不知道啥原因,解决方式也很简单,自己又在高德开放平台申请了Android的key,然后在HBuilder中配置上,重新用自己的证书打包就好了。1.申请Android平台的key2.配置Android平台的key修改mainfest.json文件,找到App模块配置,在Maps中,使用自己申请的Android平台的key3.使用自己的证书打包App在打包App时,使用自己的证书。注意包名要求高德开放平台填写的报名保持一致。
2022年01月31日
1,281 阅读
0 评论
2 点赞
2022-01-27
爱车记-Harmony OS Next第一款纯电车电耗统计与计算软件
介绍爱车记是Harmony OS Next上第一款专为电动汽车用户设计的智能充电管理工具,旨在帮助用户轻松记录、管理和分析充电数据及费用。主要功能爱车记致力于为纯电车车主提供服务,目前提供的主要功能包括:充电数据记录,形成完整的充电历史档案。用户每次充电后只需要记录充电的数据,系统形成完整的充电历史档案。通过用户记录的充电数据,协助用户统计电车的电耗、行李里程、累计电费、平均电费等信息。费用计算与管理。支持记录每笔发生的费用。比如洗车或者购买保险等。支持根据不同的费用类型,统计费用发生的合计。集成地图服务,提供附近可用充电站的位置信息,并支持路线规划。支持充电桩查询,可以方便查询附近充电桩信息并可一键导航。支持提醒支持设置提醒功能,比如购买保险提醒等,用户定义的提醒内容,会以系统消息的形式发送给用户进行提醒。支持多车辆管理支持多车辆管理,用户可以无限制免费添加车辆。其他功能用户可以下载爱车记,体验其他功能。
2022年01月27日
3,475 阅读
2 评论
2 点赞
2022-01-05
Spring Boot另类前后端分离项目部署
对于前后端分离的项目,一般情况下,我们是把静态文件放到nginx中,然后通过端口转发,请求后端避免跨域的问题。我们知道,Spring Boot项目中,我们可以添加静态资源,根据约定大于配置的规则,默认静态文件位置位于以下位置classpath:/static,classpath:/public,classpath:/resources,classpath:/META-INF/resources,servlet context:将前端文件放到Spring Boot静态资源中的好处是不存在跨域的问题。默认静态资源,如果我们放到resources中,这显然不是我们想看到的。我们希望的是,将静态文件放到jar包之外的某个特定位置,这样静态资源的修改,不会涉及jar包的修改。配置文件修改为了实现静态资源文件的配置,我们需要通过spring.web.resources.static-locations指定静态文件的位置web: spring: web: resources: static-locations: file:${web}之所以添加一个web,是为了方便我们在命令行动态指定位置。放置静态资源我这里演示将index.html放到--web=/Users/lisen/IdeaProjects/demo/web中进行访问。内容如下:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"> </script> </head> <body> 这是首页1 <div id="div1"></div> <script> $(document).ready(function(){ $.ajax({ url:"/book/get/1", type : "POST", //请求成功 success : function(result) { $("#div1").html(result); }, }) }); </script> </body> </html>启动命令java -jar /Users/lisen/IdeaProjects/demo/target/demo-0.0.1-SNAPSHOT.jar --web=/Users/lisen/IdeaProjects/demo/web访问前端页面可以看到,页面正确访问,并且没有出现跨域的问题。
2022年01月05日
932 阅读
0 评论
2 点赞
2021-12-27
OpenMTP:Mac上免费开源的管理Android设备的小工具
如果你是 macOS + Android 用户,在 macOS 中管理 Android 手机上的文件则要相对麻烦一些:Google 推出的 Android 文件传输功能简陋、稳定性差,无法传输大于 4GB 的文件;锤子科技出品的 HandShaker 需要在手机端安装配套应用,用起来也有点麻烦。 和基于ADB协议或Wi-Fi/蓝牙进行文件传输、管理的工具不同,OpenMTP基于MTP传输协议,不仅支持最新的macOS 10.15 系统,没有Google官方Android文件传输工具的一系列bug和稳定性问题;同时不需要ADB授权,内置的文件管理功能与交互也清晰、直观。 将手机连接到Mac并将连接模式改为「文件传输」后,电脑端打开OpenMTP即可在右边的文件目录窗格中看到当前用户下的Android文件目录了。OpenMTP的文件管理交互颇像一些FTP传输软件,首次打开应用时左边显示的为当前Mac设备用户的目录,右边则是 Android对应的文件目录,只不过文件传输并不像FTP文件那样直接。下载地址
2021年12月27日
1,205 阅读
1 评论
0 点赞
2021-12-19
Java故障诊断与性能优化-栈上分配
正常情况下,Java对象是存储到堆上的,为了优化系统性能,Java虚拟体提供了一种栈上分配的技术,栈上分配的基本思想是:对于那些线程私有的对象(不能被其他线程访问的对象),Java虚拟机将对象打散分配到栈上,而不是分配到堆上。之所以分配到栈上,是因为在函数调用结束后,可以将对象信息自行销毁,而不需要垃圾回收器介入。栈上分配技术基础是逃逸分析,逃逸分析的目的是检查对象的作用域是否有可能逃出函数体。能够逃逸的对象下面演示一个能够逃逸的对象,因为能够逃逸,所以是无法进行栈上分配的。public class Test{ public static class User{ public String name; public int age; public User(String name,int age){ this.name=name; this.age=age; } } public static User alloc(){ User user = new User("Test",30); user.name = "张三"; user.age=40; return user; } public static void main(String[] args) throws InterruptedException{ long startTime = System.currentTimeMillis(); User user = new User("Test",30); for(int i=0;i<100000000;i++){ user= alloc(); } System.out.println(user.age); long endTime = System.currentTimeMillis(); System.out.println(endTime - startTime); } }执行java -server -Xmx20m -Xms20m -XX:+PrintGC Test可以看到代码发生了大量的GC。不能逃逸的对象相同的代码,我们只是设置对象不能逃逸,进行一下改造。public class Test{ public static class User{ public String name; public int age; public User(String name,int age){ this.name=name; this.age=age; } } public static void alloc(){ User user = new User("Test",30); user.name = "张三"; user.age=40; } public static void main(String[] args) throws InterruptedException{ long startTime = System.currentTimeMillis(); for(int i=0;i<100000000;i++){ alloc(); } long endTime = System.currentTimeMillis(); System.out.println(endTime - startTime); } }执行java -server -Xmx20m -Xms20m -XX:+DoEscapeAnalysis -XX:+PrintGC -XX:-UseTLAB -XX:+EliminateAllocations Test可以看到并没有任何GC程序就执行完了。参数说明第二段启用逃逸分析时,我们参数明显是比第一段多了。-server:Server模式下,才可以启用逃逸分析。-XX:+DoEscapeAnalysis: 启用逃逸分析。-XX:-UseTLAB:TLAB全称是Thread Local Allocation Buffer,也就是线程级别的内存分配,每个线程独享一块内存,主要是针对Eden里的一块小内存,这样线程在分配内存的时候,因为这块小内存是这个线程独享的,因此不会出现锁竞争的问题,默认是开启该功能的,不建议关闭此功能,主要是保证内存分配的高效性-XX:+EliminateAllocations:开启标量替换(默认开启),运行将对象打散分配到栈上,比如我们上面User对象有id、name两个字段,那么这两个字段将会被视为两个独立的局部变量进行分配。
2021年12月19日
865 阅读
0 评论
0 点赞
2021-12-18
SpringBoot JPA自动设置创建者、最后修改者
书接上文,SpringBoot JPA自动设置创建时间、修改时间,审计不可能只包含创建时间、最后修改时间,肯定得有人,也就是必须得有创建者、最后修改者。Spring Data Jpa设置创建者、最后修改者也非常简单。实体修改@Data @Entity @Table(name = "Book") @EntityListeners(AuditingEntityListener.class) public class Book { @Id private long id; private String name; private String author; private BigDecimal price; @CreatedDate private Timestamp createdDate; @CreatedBy private String createBy; @LastModifiedDate private Timestamp lastModifiedDate; @LastModifiedBy private String lastModifiedBy; }@CreatedBy注解用于标识创建者。@LastModifiedBy注解用于标识最后修改者。其他注解跟设置创建时间、最后修改时间一致,不再赘述,这里重点说一下,如何获取创建者、最后修改者。设置创建者、最后修改者值在Spring Data Jpa中,可以通过实现AuditorAware接口让程序知道当前审核程序的用户,实现逻辑根据项目实际情况编写。/** * 审计接口,获取当前人员 */ @Configuration public class JpaAuditWare implements AuditorAware<String> { @Override public Optional<String> getCurrentAuditor() { return Optional.of(UUID.randomUUID().toString()); } }验证创建验证 @GetMapping("save") public Book saveBook() { Book book = new Book(); book.setId(1L); book.setName("《山海经》"); book.setAuthor("佚名"); book.setPrice(new BigDecimal("500")); return bookService.saveBook(book); }修改验证然后我们修改一下数据,验证一下最后修改人、最后修改时间{message type="info" content="如果数据未发生改变,那么最后修改者、最后修改时间是不会发生改变的。"/}
2021年12月18日
1,769 阅读
0 评论
0 点赞
1
...
16
17
18
...
53