- 博客(31)
- 问答 (1)
- 收藏
- 关注
原创 手把手教学,免费不限速内网穿透,zerotier值得拥有
下载安装包并安装,点击顶部的Add Network后,出现如下界面,将zerotier配置界面中的16位网络ID配置到其中并点击add保存,返回到上层界面点击右侧开关开始连接,稍后即可在zerotier配置界面中看到客户端已经连接。p2p模式对网络环境要求高,如果网络环境是对称带宽、多设备之间运营商不一致等问题,会导致设备直连通道建立失败,此时数据将会先发到中转服务器,然后在转发给内网设备,而zerotier的中转服务器都在国外,就会造成很慢的访问状况。在linux中执行命令安装zerotier。
2023-07-14 16:30:20 5650
原创 免费临时邮箱-可自动销毁
临时邮箱,也称为一次性邮箱或匿名邮箱,根据它的邮件有效期也分为10分钟邮箱、30分钟邮箱和24小时邮箱,甚至5日邮箱等。临时电子邮件:https://dropmail.me/zh/,刷新/关闭该页面前电子邮件无有效期限制,提供多语言支持,而且内置转发功能,设置转发后长期有效。60分钟邮箱:https://www.guerrillamail.com/zh/,Guerrilla Mail 支持收发邮件。lang=zh-cn。60 分钟邮箱:https://www.moakt.com/zh/mail。
2023-07-07 11:05:21 2649
原创 3.Repository自定义增删改查
注解的属性value为hql语句,hql语句在执行时,hibernate会对其进行编译,将其中的实体类名称、成员变量按照驼峰命名规则转换为log_id类似的数据库字段。需要在Repository的该方法上添加@Modifying注解,@Modifying表示这个sql执行的是delete,update语句,如果不加会抛异常。nativeQuery=true时,这条语句是sql语句,hibernate不会对其编译,按照原生sql语句执行。如果sql语句中有条件,可以用?1取方法形参中的第一个参数,?
2023-07-07 10:47:24 269
原创 1.读懂JPA
Spring Data JPA 是 Spring 基于 Spring Data 框架、在JPA 规范的基础上开发的一个框架,使用 Spring Data JPA 可以极大地简化JPA 的写法,可以在几乎不用写实现的情况下实现对数据库的访问和操作,除了CRUD外,还包括分页和排序等一些常用的功能。Repository的作用是提供通用的crud方法,Repository是以模板方法设计模式,一步步继承,越往下的Repository接口,作用越强大。Spring Data JPA底层使用Hiberbate实现。
2023-07-07 10:02:17 66
原创 3.mybatis-plus配置乐观锁
此时B操作进行修改时,通过版本号比对进行修改。就会发现为0的版本号不存在。从而修改失败,打印sql执行语句可以发现,如下所示,B操作修改的返回值是0。没有任何一条数据受到影响,说明修改失败,可以通过do while语句进行循环。直到返回值不为0时才算修改成功。当两个修改操作同时查询一个数据,都获取到了版本号为0的数据。A操作先行修改后,版本号变为了1。mybatis-plus提供了@version注解,用于乐观锁功能。
2023-07-07 10:02:07 287
原创 7.springboot配置定时任务
在java项目中使用定时任务常用的实现方式有 Timer定时器,Hu tool工具包,Quartz等 ,Quartz是一个完全由 Java 编写的开源作业调度框架,可以用它来实现定时任务。每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * *?每月1号凌晨1点执行一次:0 0 1 1 *?每隔1分钟执行一次:0 */1 * * *?每隔1小时执行一次:0 0 */1 * *?每隔5秒执行一次:*/5 * * * *?每天凌晨1点执行一次:0 0 1 * *?
2023-07-07 10:01:09 397
原创 2.mybatis-plus配置雪花算法ID生成器
使用id_worker策略,调用mp的方法写入db时,如果实体类ID为null,则mp自动给ID赋上64位数字ID。1.数据库对应的类型至少是bigint,实体类中主键ID必须是Long类型,long、int、Integer会报错。2.配置机器序列,0-31之间的数,且必须同时配置 worker-id和datacenter-id才能生效。在分布式环境下,可以通过配置类指定mp的ID生成器的机器序号,来保证分布式下的ID唯一。
2023-07-07 09:59:22 1594
原创 1.springboot整合mybatis-plus
MP如果要配置二级缓存,需要使用2.0.4以下的版本,以上的版本二级缓存被优化了,不会使用二级的,需要额外配置,可百度。//向maven声明,构建项目的class目录时创建xml文件,否则运行时每个dao接口绑定不上xml文件。6.业务层实现类声明,并继承MP通用的工具类,该工具类提供了大量的crud方法。5.service层接口也继承MP通用的服务接口,并声明该接口用于哪个实体类。配置完后再测试,数据正常,并且大部分的CRUD方法已经实现了。4.dao层接口继承MP的工具类接口。
2023-07-07 09:58:53 276
原创 6.springboot自定义starter
自定义启动器名-spring-boot-starter。启动器依赖自动配置;别人只需要引入启动器(starter) 1、这个场景需要使用到的依赖是什么?专门来写一个自动配置模块; 2、如何编写自动配置。启动器只用来做依赖导入;
2023-07-06 11:10:55 96
原创 5.springboot整合JDBC及原理
1)、编写一个实体类(bean)和数据表进行映射,并且配置好映射关系;//使用JPA注解配置映射关系 @Entity //告诉JPA这是一个实体类(和数据表映射的类) @Table(name = "tbl_user") //@Table来指定和哪个数据表对应;如果省略默认表名就是user;@Id //这是一个主键 @GeneratedValue(strategy = GenerationType . IDENTITY) //自增主键 private Integer id;
2023-07-06 11:09:47 256
原创 4.springboot整合web及原理
1、简介使用SpringBoot;1)、创建SpringBoot应用,选中我们需要的模块;2)、SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运行起来3)、自己编写业务代码;自动配置原理?这个场景SpringBoot帮我们配置了什么?能不能修改?能修改哪些配置?能不能扩展?xxxxxxxAutoConfiguration:帮我们给容器中自动配置组件;xxxxProperties:配置类来封装配置文件的内容;2、SpringBoot对静态资源的映射规
2023-07-06 11:05:19 1509
原创 3.springboot整合日志框架
日志框架就不直接加载日志的配置项,由SpringBoot解析日志配置,可以使用SpringBoot的高级Profile功能。换上新的框架,重新修改之前相关的API;日志门面(日志的一个抽象层);以后开发的时候,日志记录方法的调用,不应该来直接调用日志的实现类,而是调用日志抽象层里面的方法;我们之前的日志框架都是实现的抽象层; 2)、SpringBoot也把其他的日志都替换成了slf4j; Spring框架用的是commons-logging;每一个日志的实现框架都有自己的配置文件。
2023-07-06 11:03:55 152
原创 2.springboot配置文件详解
这个配置类就会给容器中添加各种组件;这些组件的属性是从对应的properties类中获取的,这些类里面的每一个属性又是和配置文件绑定的;5)、所有在配置文件中能配置的属性都是在xxxxProperties类中封装者‘;每一个这样的 xxxAutoConfiguration类都是容器中的一个组件,都加入到容器中;作用:必须是@Conditional指定的条件成立,才给容器中添加组件,配置配里面的所有内容才生效;Spring Boot里面没有Spring的配置文件,我们自己编写的配置文件,也不能自动识别;
2023-07-06 11:01:16 421
原创 Spring Boot
2014,martin fowler微服务:架构风格(服务微化)一个应用应该是一组小型服务;可以通过HTTP的方式进行互通;单体应用:ALL IN ONE微服务:每一个功能元素最终都是一个可独立替换和独立升级的软件单元;详细参照微服务文档http://www.gulixueyuan.com/ 谷粒学院环境约束–jdk1.8:Spring Boot 推荐jdk1.7及以上;java version “1.8.0_112”–maven3.x:maven 3.3以上版本;Apache Maven 3.3.9–In
2023-07-06 10:55:33 382
原创 Java工具类-根据数据库表结构生成文档、HTML、markdown等格式
引入如下pom依赖,创建一个启动类,application.yml配置文件都不用写。
2023-07-06 10:36:33 523 1
原创 3.各个运算符和三目运算表达式
虽然由于较长的指令流水线和其他架构设计选择,现代处理器通常执行加法和乘法的速度与位运算一样快,但由于资源使用减少,位运算通常会使用较少的功率,所以在一些Java底层算法中,巧妙的使用位运算可以大量减少运行开销,逻辑运算也属于位运算,只不过其是进行判断,比如 &与,两者都为1,结果才为1。由于右移运算的特性,正数高位补0,负数补1,一个正数右移动的位数大于它本身的二进制补码位时,结果总是0,一个负数右移动的位数大于它本身的位时结果总是-1,所有有了无符号右移运算(>>>)最终sex的结果是y。
2023-07-05 16:45:18 102
原创 2.基本数据类型和运算符
/如果是整数型,范围在0-65535,一些常用的英文以及符号都在0 - 255范围之内放着。//输出:ὧ 取值范围在\u0000 到 \uffff。//输出:帅 获取Unicode的某个编码,//如果是16进制表示,就代表Unicode编码表的某个字符。//输出:|| 0-65535。局部变量要使用必须赋值, 如果只声明没赋值就使用,会编译错误。Byte,short,int,long默认是都是0。Float与double类型的默认是0.0。对象类型的默认值是null**Char类型的默认值是’’
2023-07-05 16:45:14 48
原创 1.jdk概述和安装
OpenJDK和JDK的区别:Java是Sun公司开发的一款编程语言,JDK作为Java语言的开发环境,JDK的维护由Sun公司主导,2009年Oracle收购了Sun公司,JDK的下载地址也迁移到了Oracle官网。不同平台的jdk(例如Mac,Linux,Windows),有不同的jvm虚拟机,可以零差别运行class文件,实现了一次编译,到处运行的效果。OpenJDK在大体上和JDK正式版一致,但在运行某些开源框架时,会出现无法运行等情况,学习测试建议使用JDK正式版。jdk,包含jre和jvm。
2023-07-05 16:25:02 98
原创 3.网络协议
TCP是面向字节流的,即把应用层传来的报文看成字节流,将字节流拆分成大小不等的数据块,并添加TCP首部;UDP是面向报文的,对应用层传下来的报文不拆分也不合并,仅添加UDP首部;答:TCP对应的典型的应用层协议: FTP:文件传输协议;SSH:远程登录协议;答:UDP对应的典型的应用层协议: DNS:域名解析协议;的应用层协议: DNS:域名解析协议;TCP/IP:网络通信协议,像HTTP,FTP,等协议都是TCP/IP协议的子集。链路层:网络传输的硬件部分都是链路层,如:网卡,网线,网络适配器,路由器。
2023-07-05 16:05:33 40
原创 2.计算机组成结构
早期计算机仅含固定用途程序,举个例子:有个计算机它只能运行数学运算的程序,那么它就不能运行文字处理的软件,也不能拿来玩游戏,如果要让它能够进行别的功能,就需要改变计算机的程序,而在当时,所谓的重写程序并不是指现在的重新编译一个程序那么简单,而是必须更改电路或者说更改结构,甚至重新设计这个机器。借助将指令当成一种特殊类型的计算数据,一台存储型的计算机可以轻易地改变其程序,并且在程序的控制下,改变运行的内容,改变的时候不需要重新设计电路,不需要重新改变计算机的结构,这就是冯诺依曼体系所带来的巨大贡献。
2023-07-05 10:44:13 47
原创 1.计算机发展史
又称大型机、大型主机、主机等,具有高性能,可处理大量数据与复杂的运算,像银行金融交易的数据、证券交易所的数据处理、人口普查、企业资源规划等一些项目里面都会使用到大型计算机,大型机市场领域,IBM占据着很大的份额。德州仪器的工程师发明了集成电路(IC),集成电路(IC)顾名思义,就是把一定数量的常用电子元件,如电阻、电容、晶体管等,以及这些元件之间的连线,通过半导体工艺集成在一起的具有特定功能的电路。一个芯片集成了上百万的晶体管,使得计算机的速度更快,体积更小,价格更低,更能被大众接受,
2023-07-05 10:38:47 1242
原创 Windows环境下,jar程序设置开机自启动。只需三个步骤不用写bat脚本
不用登录Windows,开机即自动运行,某些自启动脚本需要登录Windows才能启动。
2023-01-09 12:05:19 5358 4
原创 Java工具类-免费天气查询工具类源码,开箱即用,根据中国气象局API编写。高效稳定
使用Java语言,根据中国气象局API编写的查询天气工具类,代码引入就能用,代码中对异常做了处理,无论是否查询成功,都会返回固定格式的结果,高效且稳定。再也不用担心网上的天气API突然不能用导致的异常问题。
2022-10-13 14:26:43 1180
原创 解决jenkins报错:AWT is not properly configured on this server
楼主下载的war包,jenkins2.2.war ,直接用java -jar 启动war包,但是启动报错,大概是-Djava.awt.head=true错误,于是把war包放到tomcat下运行但访问jenkins时报错:于是去这个提示的jenkins社区查了一下,大概是jdk的问题如果你安装的是sun官方jdk,只要端口没被占用,一般是可以直接启动的,我是在国内镜像站找的openJDK,就...
2020-02-17 19:58:32 10794 3
求回答微信支付问题,悬赏50!
2021-08-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人