JAVA
java开发
浅月流苏
古来侠儿多宿命,无君谁解易水寒!
展开
-
java 页面html常用写法总结
type=“hidden”:input的隐藏域,此input标签不会在页面展示,但是可以将页面id="fileName"中的value属性值,即代码中的 “文件名” 值传到响应的js页面。在相应的js页面中,获取相应的option标签,即可以通过attr方法,获取自定义标签的属性值,后端将选项放入list中,如果后端带有model对象,可以放入model对象中。scene:是单个选项的属性值,scenes是为了保存所有的选项值。另外,我们可以在option标签中,自定义一些属性传入js页面。原创 2023-07-25 11:46:30 · 752 阅读 · 0 评论 -
java实现钉钉自定义机器人发送消息
钉钉作为现在很多企业的移动办公平台,具有很多很强大的功能,可以帮助我们更加及时的发现问题,解决问题,今天我们做一个java实现钉钉自定义机器发送消息的功能。接下来,先创建一个钉钉的群,打开钉钉群,在群的右上角点击齿轮图标 - 群设置,设置完成之后,会生成一个webhook地址,复制该地址出来。原创 2023-04-17 12:12:28 · 1864 阅读 · 0 评论 -
Pattern - 使用正则表达式进行字符串的替换操作
前段时间在做开发的时候,开发了一个用户意见反馈的功能,在使用该功能的时候,使用了一个富文本编辑器ueditor,引入ueditor,涉及到一个问题,是在文档内容中,会下发字体单位px,但是一部分字体下发的是px为单位的,比如24px,但是一部分字体下发的单位是rem,比如0.24rem,这样导致一个问题,富文本生成的页面,在安卓手机里面展示的时候,无法适配rem字体格式,导致的现象就是一部分字体是正常的,但是一部分字体就特别的小。原创 2022-12-28 20:34:03 · 1443 阅读 · 0 评论 -
mybatis-puls使用修改语句部分字段不生效
mybatis-puls在使用修改语句的时候,没有报异常,但是修改的部分字段不生效,打印修改的数据语句,发现部分字段传进来的属性值是null,然后mybatis-puls修改的时候,发现这个字段是null,就忽略此字段的修改,但实际上,我们就是需要这个字段修改为null,没有操作成功的原因,是因为mybatis-puls在执行修改时,对字段的验证策略,我们看一下。全局性配置,会对所有的字段都忽略判断,如果一些字段不想要修改,但是传值的时候没有传递过来,就会被更新为null,可能会影响其他业务数据的正确性。原创 2022-09-28 14:29:10 · 2413 阅读 · 0 评论 -
maven依赖冲突导致tomcat启动失败
在运行tomcat的时候,发现tomcat没有能启动程序,查看启动日志,发现The class hierarchy being processed was [org.bouncycastle.asn1.ASN1EncodableVector->org.bouncycastle.asn1.DEREncodableVector->org.bouncycastle.asn1.ASN1EncodableVector]报错...原创 2022-08-31 14:44:49 · 1912 阅读 · 0 评论 -
数据库插入数据时,自增主键过大问题
在使用mysql数据库时,很多时候,设计的数据库主键都是自增的,一般不需要我们传入主键的值,这样开发起来比较方便,在建表时,加上auto_increment即可。在实际开发中,使用mybatis-plus组件有可能遇见过自增主键过大的问题,长度过长,有时会遇见19位或者20位长度的主键,过长的主键显然不是我们想要的,那如何解决这个问题呢?在我们的数据库实体对象中,在主键属性字段上,加上注解@TableId(value="id",type = IdType.AUTO)即可。要注意的一点是,这个注解引用错误的话原创 2022-06-07 19:35:14 · 1150 阅读 · 0 评论 -
dubbo服务找不到提供者,解决思路
1.Provider(提供者)和Consumer(消费者)填写的路径不一致2.Provider(提供者)的impl上面的@Service(“xxx”)配置的名称和Consumer(消费者)的id不一致,导致引用不到3.Provider(提供者)和Consumer(消费者)所声明的版本不一致,导致引用不到4.Provider的impl忘记加上@Service注解,注意:该service注解为org.apache.dubbo.config.annotation.Service这个包下面的,注解错误也找不到原创 2022-06-06 16:07:32 · 2943 阅读 · 0 评论 -
java支付宝签约功能
支付宝的签约功能,与单笔支付相比,稍有不同。支付宝签约接口,需要先创建一个支付宝的客户端alipayClient,然后填充响应的参数之后,调支付宝的速度快,获取到响应的数据,然后发起真正的支付操作。AlipayClient alipayClient = new DefaultAlipayClient(“https://openapi.alipay.com/gateway.do”, “商户号”, 私钥, “json”, “UTF-8”, 公钥, “加密方式(RSA/RSA2)”);AlipayTrade原创 2022-05-17 14:21:28 · 860 阅读 · 0 评论 -
Java开发支付宝支付功能
之前做开发过程中,没有接触过支付相关的功能,最近做了一个支付相关功能的开发,包括支付宝和微信支付,为了避免以后忘记相关的流程,记录一下这次的开发经验,这里先介绍一下支付宝相关的开发。 首先在进行java开发功能之前,先要在支付宝开放平台创建应用或者绑定应用,然后配置密钥,开放签约功能,具体流程,参考支付宝文档中心,附上链接网页&移动应用学习路径 - 支付宝文档中心 (alipay.com)https://opendocs.alipay.com/apis/01ddgu应用创建完成,相....原创 2022-04-26 17:02:44 · 6007 阅读 · 1 评论 -
【mysql时区问题】mysql插入数据时间显示错误
前天在进行数据库操作的时候,发现了一个问题(备注:使用的工具是datagrip),我新添加了一条数据到数据库,然后到数据库查看,发现创建时间比我插入的时间少了13个小时,但是请求返回的时候,返回的时间又加了13个小时,我先排查了插入数据库时传入的时间参数,传参是没有问题的,所以我又查看了数据库的建表语句,ctime timestamp default CURRENT_TIMESTAMP null comment '创建时间',utime timestamp def原创 2022-03-24 10:55:43 · 2879 阅读 · 0 评论 -
linux中批量删除redis指定前缀的key
在redis开发当中,有一些永不过期的key,这些key有些是热词,是有必要存在的,也有一些key是忘记了设置失效时间引起的,长期堆积这些不过期的key值,会占用内存空间,造成不必要的浪费,那如何回收这部分资源呢?对于指点前缀的key,可以使用xargs语法清除,但是使用批量删除之前,先要指定匹配规则,之前在网上看到有人提出使用 keys关键字来匹配的方法,具体语法如下:redis -cli -h ‘127.0.0.1’ -p ‘6379’ -a password KEYS “key:*” | xarg原创 2021-11-23 14:33:24 · 1516 阅读 · 0 评论 -
Linux系统内修改时间与恢复默认时间
1、date命令可查看当前时间2、date 1118091621.30可以修改时间为2021年11月18号09点16分30秒也可以分开设置,date -s 11/18/21 将日期设置为2021年11月18日,date -s 09:16:30 将时间设置为09点16分30秒3、修改完时间,如果想回到之前系统的时间,则可以使用命令 ntpdate -u ntp.api.bz ,使用完之后可能要稍微等一下,才能生效。...原创 2021-11-17 16:37:26 · 8154 阅读 · 0 评论 -
idea导入本地maven项目报错
idea导入本地maven项目之后,项目展现的不是maven项目,这个时候需要先把项目转化成maven项目,方法如图:右键点击pom文件,然后点击Add as Maven Project,这样就把项目变成maven项目了。另外再变成maven项目之后可能会遇到一些其他的问题,比如我本地原来maven项目的文件夹被我修改了名字,然后本地导入这个项目的时候,报了maven的错,但是变成maven之后还是有错误,看到显示的是有些依赖没注入,然后我在idea编译器右边找到maven菜单栏,重新下载了依赖,但是原创 2021-11-17 11:58:52 · 1394 阅读 · 0 评论 -
java中,switch语句抛出空指针异常
在java 执行switch语句中,如果传入的参数为String类型的话,会去获取该参数的hashCode值,如果该参数为null的话,则会抛出空指针异常!原创 2021-11-11 17:15:59 · 1426 阅读 · 0 评论 -
前端页面修改后清除缓存,以及页面操作debug
由于之前做开发接触的项目,都是后端,也就是处理业务相关的工作,前端页面涉及的不多,所以在最近新接手的一个项目中,需要涉及到前端页面的开发工作,这期间遇到了一些小问题,在这里稍作记录。这其中遇到的一个问题,就是对页面做了修改,但是在浏览器打开的时候,发现页面还是之前的页面,一开始我觉得是浏览器的问题,需要清除缓存,或者需要使用浏览器的无痕模式,这样可以解决问题,后来测试小伙伴问我,有没有办法在页面上做一些开发,省去每次都要清缓存的操作,后来去了解了一下,发现确实可以做到,而且发现解决这个问题的方法很简单,就原创 2021-11-04 17:11:37 · 1768 阅读 · 0 评论 -
JAVA:内存溢出异常
在HotSpot虚拟机中,运行时数据区分为程序计数器,虚拟机栈,本地方法栈,java堆,方法区,除了程序计数器不会存在内存溢出的情况,别的区域都有可能发生内存溢出的异常。 Java堆溢出: Java堆用于储存对象实例,我们只要不断地创建对象,并且保证GC Roots到对象之间有可达路径 来避免垃圾回收机制清除这些对象,那么随着对象数量的增加,总容量触及最大堆的容量限制后就会 产生内存溢出异常。 Java堆内存的OutOfMemoryErr...原创 2021-08-04 11:47:14 · 363 阅读 · 0 评论 -
JAVA虚拟机 -- 对象的内存布局
在hotspot虚拟机中,对象的在堆中内存布局可以分为三个部分:对象头(Header),实例数据(Instance Data)和对齐填充(Padding)。 hotspot虚拟机中对象的对象头包括两部分数据:一部分用于储存自身运行时的数据,另一部分是类型指针。对象自身运行时的数据包括对象的哈希码、GC分代年龄、线程持有的锁、锁状态标识、偏向线程的ID、偏向时间戳等。这些数据的长度在32位和64位的虚拟机中所占用的长度分别为32比特和64比特,官方称它为“Mark Word”。...原创 2021-07-28 17:51:40 · 127 阅读 · 0 评论 -
Datagrip修改了数据库字段,但是DDL没有更新
Datagrip修改了数据库字段,但是DDL却没有更新,最近在使用DG的时候遇到了这个问题,断开数据库连接,刷新数据库,还是没有更新DDL,最后清除了DG的缓存,并重新启动才解决这个问题。解决办法:点击file,找到“invalidatecaches / restart”点击“invalidatecaches / restart”,弹出清理缓存提示框,点击“invalidateandrestart”等DG重启后,再查看表的DDL语句,就能看到更新后的DDL语句了...原创 2021-07-05 17:23:42 · 3672 阅读 · 9 评论 -
idea取消屏幕中间的竖线
在我们使用idea的时候,尤其是新安装的idea软件,会发现在屏幕中间有一条长长的竖线,一些小伙伴感觉很不习惯,一些强迫症的人感觉更难受,告诉大家取消这条竖线的方法。1.首先,打开file按钮,找到setting2.打开之后,找到Editor,选中Appearance,将“showhardwrapandvisualguides”选项前面的对号点掉即可去掉之后,屏幕中间的竖线就不见了。同样有的小伙伴在使用datagrip的时候,也有可能遇到这个问题,使用同样的方法即可。...原创 2021-07-05 17:07:03 · 10213 阅读 · 2 评论 -
idea中,将SpringBoot集成maven项目打成Jar包
springboot集成maven项目的打包方式,相对来说比较简单,下面给大家图解一下。1.2.执行完上述操作后,就算打包完成了该jar包就是打包好的服务项目包了!...原创 2019-04-24 14:40:01 · 1474 阅读 · 0 评论 -
springboot项目启动,但是访问报404错误
今天在做一个springboot项目的时候,是接着别人的项目写的,写完之后想做一下测试,于是就启动了springboot,然后在放问的时候,一直包404的错误,然后百度了一下网上给的方法,包括注解使用@RestController,然后去除掉方法@RequestMapping(value = "/add")中的“value=”,这个方法对我无用,因为我的项目之前就是用的@RestC...原创 2018-06-15 15:52:32 · 77282 阅读 · 32 评论 -
linux服务器运行jar常用命令
1.java-jarXXX.jar当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出2.java-jarXXX.jar&&代表在后台运行。当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。3.nohupjava-jarXXX.jar&nohup意思是不挂断运行命令,当账户...原创 2018-06-21 15:13:52 · 4591 阅读 · 0 评论 -
eclipse中,将springboot项目打成jar包
1.右击项目,选择Run As - Maven clean2.右击项目,选择Run As - Maveninstall3.成功后 会在项目的target文件夹下生成jar包4.将打包好的jar包 发布到服务器,运行java -jar jar包5.或者使用命令nohup java -jar jar包,nohup命令可以后台启动jar,如果 直接运行 java -jar 则关闭终端,spring的进...原创 2018-06-21 15:05:29 · 22189 阅读 · 5 评论 -
linux中通过关键字查询日志,查询结果突显
1.首先找到要查看的日志文件所在的文件夹,打开日志2.通过ctrl+c结束操作,然后输入less -N日志文件名.log3.之后在最后面输入 /关键字,就可以查询了4.查询结果如下5.点击键盘↑ ↓可以滚动,点击 N可以查看上一个,n可以查看下一个6.查询结果最最下面是一个 :,直接点击q键,便可退出此状态7.cat日志文件|grep -C行...原创 2018-06-20 18:38:50 · 15170 阅读 · 1 评论 -
部署jar包项目到服务器上
1.首先将需要打包的项目,打成jar包2.打开服务器中存放项目的文件目录3.rz之后按enter4.进入选择需要复制的文件窗口,找到打包好的jar,点确定5.通过Linux下查看所有java进程命令:ps -ef | grep java,查询是否有在运行的将要发布的项目,如果有,kill -9 程序号来杀死进程6.使用命令 java -jar项目名.jar >> 日志存放的地址...原创 2018-06-20 17:58:15 · 14890 阅读 · 3 评论 -
多线程future的问题
前几天上线一个项目,因为涉及到需要往redis数据库写入数据,所以写了一个多线程的类,创建多个线程王数据库写入数据,结果创建的57个线程中,只有24个线程完成了数据的处理,剩下的33个线程没有执行,问题到现在还没查询出来,现在把线程中的一些点列出来,以后有机会仔细研究一下。ExecutorService service = Executors.newCachedThreadPoo...原创 2019-03-15 15:18:32 · 773 阅读 · 2 评论 -
idea中,将SpringBoot项目打成Jar包
1.配置需要打包的项目信息在idea编辑器里找到Project Structure,在编辑器的右上角,点击该图标选择Artifacts,点击新增,选择JAR,然后选择Frommoduleswithdependencies然后配置打包的配置,输出目录确保是空的,如果输出目录之前打过包,会有存在一个META-INF文件夹,里面存在一个MANIFEST.MF文件,要先删除掉,配...原创 2018-08-07 18:43:06 · 20316 阅读 · 0 评论 -
Hibernate Tools ----Hibernate逆向工程在Eclipse的使用
首先,大家需要安装Hibernate Tools,安装的步骤,前面发过了,可以看一下。Eclipse安装Hibernate Tools插件安装链接:Eclipse安装Hibernate Tools插件新建一个Dynamic web project工程,名称命名为“HibernateGenerator”,以Mysql为示例,建立相应的数据库及表。将MySql的Jdbc驱动库(mysql-...原创 2018-06-28 12:12:46 · 515 阅读 · 3 评论 -
Eclipse安装Hibernate Tools插件
打开网站:http://tools.jboss.org/downloads/jbosstools/neon/4.4.4.Final.html#update_site,找到对应自己Eclipse版本的下载链接点击eclispe的“help”,选择“Install New SoftWare”点击“Add”,将对应的下载链接粘到下面的地址栏里,点击“OK”,注意:地址栏中已经有“http:”,不要重复了...原创 2018-06-28 10:40:04 · 450 阅读 · 0 评论 -
Mysql数据库回表查询
Mysql数据库,且使用的搜索引擎为innodb引擎,建立了主键索引和普通索引,通过主键索引可以查出来一条数据,通过辅助索引查询需要先查询到对应的主键索引的值,然后根据主键索引查询到相应的信息。 如果通过辅助索引所要查询的信息在包含在辅助索引中,就不会再通过主键索引的值去数据库中查询,而是直接可以返回结果,如果辅助索引中的信息不完整,则会通过主键索引去获取数据信息,这种情况就被称为回表查询。 比如下面一张表字段名 类型 说明 id ...原创 2021-06-29 20:25:26 · 2414 阅读 · 0 评论 -
JVM中对象创建的过程
当虚拟机遇到一条new指令的时候,首先将去检查这个指令的参数能否在常量池中定位到一个类的符号引用,并且检查这个符号引用所代表的的类是否被加载解析和初始化过,如果没有,那必须执行相应的类加载过程。在类加载检查通过后,虚拟机将为新生对象分配内存,对象所需的内存,在类加载完成后便可确定,分配内存有两种方式:1.指针碰撞:假设java堆中内存都是规整的,所有用过的内存放在一边,未使用的内存放在一边,中间放着一个指针作为分界点的指示器,那所分配的内存就仅仅是把那个指针往空闲这边挪动一段与对象大小相等的距离,这原创 2021-05-21 17:52:38 · 132 阅读 · 0 评论