
JAVA
JAVA
bailaoshi666
努力找一份Java工作,成为Java程序员,然后努力发家致富!
展开
-
MAC执行graalvm并编译
graalvm原创 2022-12-05 10:58:08 · 1520 阅读 · 0 评论 -
IDEA选中单词没有高亮
IDEA选中高亮原创 2022-11-08 17:45:59 · 542 阅读 · 0 评论 -
screw 的postgresql数据库使用教程
screw 1.0.5 + postgresql原创 2022-08-16 16:53:24 · 1303 阅读 · 2 评论 -
实现一个简易的tomcat
实现一个简易的tomcat总结学习到了servlet的接受和分发请求的流程。步骤步骤一先创建一个SpringBoot。这个不难。然后配置了一些日志信息就没了。pom.xml<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artif原创 2021-04-12 14:16:50 · 235 阅读 · 0 评论 -
myBatis的XML关于枚举的哪些事
有个需求需要根据枚举来做判断。网上的写法有枚举的定义HOUR("hour"),DAY("day"),MONTH("month"),YEAR("year");<if test="dtEnum == @com.xxx.xxx.TestTypeEnum@HOUR"> </if>然后还有这种<if test="isEnable != null"> <if test="isEnable.toString() == 'CLOS.原创 2021-04-12 09:53:35 · 180 阅读 · 0 评论 -
rebase 纪录
笔记rebase操作check main主分支拉取代码然后check自己负责的项目(dev分支)拉取代码然后在idea点击rebase main主分支(也可以敲命令)最后push代码原创 2021-03-23 15:42:32 · 201 阅读 · 0 评论 -
CompletableFuture自己入门
把上一篇写的函数式改为for循环,然后打印下线程名public class Test { public static void main(String[] args) { Function<Integer , Integer> fun = x -> { System.out.println(Thread.currentThread().getName()); return x + 1; }; for (int i = 0;原创 2021-02-02 11:16:42 · 178 阅读 · 0 评论 -
Function函数式编程自己入门
主要还是看到同事用了,要学习下。public class Test { public static void main(String[] args) { Function<Integer, Integer> fun = x -> x + 1; Integer integer = TestUtil.execute(2, fun); System.out.println(integer); }}public class TestUtil<T原创 2021-02-02 10:11:37 · 324 阅读 · 0 评论 -
mapper.xml写大于、小于、等于、不等于
网上好多都说不能写两个特殊符号,说<, >, = 都可以,说两个一起用就不行其实不是的,可以用!=,=>, <=,都可以的,用< >也是可以的但是注意,在写sql语句时,个人习惯写不等于用<>这样就会有问题因为<>在mapper.xml里这个是xml的标签所以我写sql语句时直接报错跑不起来...原创 2021-01-22 16:01:18 · 4833 阅读 · 0 评论 -
Java23种设计模式总结(纯手打当作学习)
1. 总述以下资料来自于疯狂联盟版的Java设计模式。因为网上扫描PDF一些字变成*号,并且个人想学习设计模式,所以下面是根据pdf和本人知识量来手打的内容,如果错误请包含。希望自己学完有所收获。下面23种设计模式我都敲完代码也能运行了,放出百度网盘下载源码:链接: https://pan.baidu.com/s/1sYkTQrWk_SSLCGNzruwefQ 提取码: zgap设计模式有两种分类方法,一种根据模式的目的来分;另一种根据模式的作用来分。1.1根据模式的目的划分根据模式是.原创 2021-01-14 15:32:01 · 400 阅读 · 0 评论 -
记录下Long类型从数据库接受null
实体类字段定义为Long,因为是bigint。但是获取要判断是否为空是否为0伪代码if(date.getXXX != null &&date.getXXX != 0){}原创 2021-01-04 14:04:37 · 1042 阅读 · 0 评论 -
记录下lombok @Accessors用法
@Accessors翻译是存取器。通过该注解可以控制getter和setter方法的形式。有个vo类@Data@Accessors(fluent = true)public class SysAppPayCfgVO { private PayTypeEnum payType; private String pName; private String tips; private String remark;}现在是fluent 若为true,则get..原创 2020-12-09 14:35:05 · 196 阅读 · 0 评论 -
记录下mybatisplus的写法和分页的应用
Department department = getBaseMapper().selectOne(Wrappers.<Department>lambdaQuery().eq(Department::getId, deptId));QueryWrapper<CcmScopeShop> queryWrapper = new QueryWrapper<>(); queryWrapper.lambda() .eq(Department::getTe.原创 2020-12-07 09:38:54 · 458 阅读 · 0 评论 -
学习下责任链模式
本文来源于码农田小齐变化用抽象,固定用模板学习下责任链模式先是定义需求,皇帝去河北,陕西玩,由当地的官员接待,然后如果想增加地方怎么办先顶一个官员类public abstract class Official { protected String title; protected abstract void server(Emperor emperor); public String getTitle() { return title; } pu.原创 2020-12-04 09:53:07 · 100 阅读 · 0 评论 -
postman的get请求可以带请求体?
今天写了个@RequestBody接受参数的方法用的get请求(这里是错误的示范)在postman可以顺利请求到,但是到浏览器就不可以了。因为规范是get请求是标签,不带请求体。切记所以要么get请求,用@RequestParam要么就post请求给自己提醒...原创 2020-12-03 11:45:03 · 2412 阅读 · 0 评论 -
发布者订阅者模式
文章来源于字母哥。https://my.oschina.net/zimug/blog/4677315Java 9的 Reactive Streams是对异步流式编程的一种实现。它基于异步发布和订阅模型,具有非阻塞“背压”数据处理的特点。下面是Java 响应式编程中的一些重要角色和概念,先简单理解一下发布者(Publisher)是潜在的无限数量的有序数据元素的生产者。 它根据收到的需求(subscription)向当前订阅者发布一定数量的数据元素。 订阅者(Subscriber)从.原创 2020-12-01 18:08:41 · 2870 阅读 · 0 评论 -
学习elasticsearch
以下教程来自how2J,本人只是做学习记录。下载的6.2.2,版本无所谓,但要安装jdk环境,7以上版本好像内置JDK环境了下载后解压,在bin文件夹下有个elasticsearch.bat,双击启动浏览器输入http://127.0.0.1:9200/启动成功接下来下载Kibana工具,里面有个 Dev Tools,以很方便地以Restful风格向 ElasticSearch 服务器提交请求下载后解压,还是在bin\kibana.bat启动打开url:http...原创 2020-12-01 16:36:37 · 127 阅读 · 0 评论 -
业余时间记录下发布到服务器
上传到项目后首先到项目路径下,通过cd然后查看当前运行项目jps -l然后看到自己项目的进程,结束他kill -9 4201然后写一个启动命令start.sh#!/bin/bash# nohup java -jar p.jar --spring.profiles.active=uat & tail -f nohup.outjarname=`ls org-server*.jar|head -n1`echo restarting $jarnamenohup .原创 2020-10-20 14:11:25 · 100 阅读 · 0 评论 -
Mybatis一级缓存和mybatisplus 踩坑记
事故描述用mybatisPlus查询角色组,为0,语句为://全量查询角色组信息 List<RoleGroup> roleGroupList = roleGroupMapper.selectList(Wrappers.<RoleGroup>lambdaQuery().in(RoleGroup::getSource, source));于是进行插入然后在查出最新插入的数据,语句还是同上在插入到另一张表中。发现第二次查询没有执行原创 2020-10-19 16:07:28 · 628 阅读 · 0 评论 -
feign调用和全局拦截
先做个feign调用方法@Component@RequestMapping("fegin")@FeignClient(value = "fegin-server", fallbackFactory = ServerFeignFallbackFactory.class)public interface EdgeServerDingTalkFeign { /** * 根据用户id获取用户详情 */ @GetMapping("member/detail")原创 2020-09-24 11:06:10 · 2432 阅读 · 0 评论 -
redis学习
import org.springframework.cache.annotation.CachingConfigurerSupport;import org.springframework.cache.annotation.EnableCaching;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.s..原创 2020-09-11 18:22:33 · 116 阅读 · 0 评论 -
类初始化和实例初始化
这里的j=method();完整的是 private static int j = method();继承父类,重写了父类的test,所以不走父类的test方法。下一题结果是实参给形参赋值基本数据类型:数据值引用数据类型:地址值第一个没变,是因为改的是副本,没有地址String和包装类不可变,新字符串会创建新的地址,原来的依旧指向原来的数组和对象都是通过地址去修改的下一题结果是215,115...原创 2020-08-15 02:17:58 · 177 阅读 · 0 评论 -
查看linux大内存
整机:top CPU:vmstat 内存:free 硬盘:df 磁盘IO:iostat 网络IO:ifstat首先top,结果图注意看 %CPU和%MEM,这两个是CPU和内存再看右上角,load average。三个数加起来除于3在除于100,大于百分之60就是有大内存卡着uptime是精简查看CPU,意思是每2秒采样以此,采样3次主要是看procs和CPUprocs是r和br:运行和等待CPU时间片的进程数,原则上1核的CPU的运行队列...原创 2020-08-14 01:31:52 · 247 阅读 · 0 评论 -
对象大小写的注入问题
今天在群聊上,有个朋友用set注入。发现xml配置的name不是变量名,而是要首字母大写什么的。后来发现原因他的变量名是这么取得,bDxxxxx不能这么取名,必须要bdxxxx存在着特殊情况,考虑到一些特定的有意思的英文缩略词如(USA,XML等),JavaBean也允许大写字母起头的属性变量名,不过必须满足“变量的前两个字母要么全部大写,要么全部小写”的要求,如:IDCode、ICCard、idCode等属性变量名是合法的,而iC、iCcard、iDCode等属性变量名是非法的。.原创 2020-08-11 13:30:16 · 277 阅读 · 0 评论 -
SpringBoot的自动配置原理
这里用的springboot 1.5.9.RELEASE原理启动时加载主配置类,开启自动配置功能@EnableAutoConfiguration@EnableAutoConfiguration的作用:利用EnableAutoConfigurationImportSelector给容器导入一些组件点进去看他类,再点到它的父类selectImports方法,可看到最关键的一句点进getCandidateConfigurations这个方法里,Spr...原创 2020-07-25 10:20:32 · 197 阅读 · 0 评论 -
推文整理的面试题
1、讲一下GC的过程https://blog.youkuaiyun.com/bisal/article/details/106066216https://blog.youkuaiyun.com/bisal/article/details/106846249https://blog.youkuaiyun.com/wangshiwen011/article/details/107473814https://zhuanlan.zhihu.com/p/1077899062、什么样的对象会被老年代回收根据经验来看存在以下几种情况原创 2020-07-24 11:57:12 · 1845 阅读 · 0 评论 -
全局 id
集群下必须要有全局唯一ID要求:全局唯一趋势递增在MySQL的InnoDB引擎中使用的是聚集索引,由于多数RDBMS使用Btree的数据结构来存储索引数据,在主键的选择上面我们应该尽量使用有序的主键保证写入性能单调递增保证下一个ID一定大于上一个ID,例如事务版本号,IM增量消息、排序等特殊需求信息安全如果ID是连续的,就容易被恶意爬取或者让 竞争对手知道公司一天的单量。所以在一些应用场景下,需要ID无规则不规则,不让对方猜到规律含时间戳ID号生...原创 2020-07-21 16:10:59 · 234 阅读 · 0 评论 -
关于ibatis的@Param的一些复习
在SSM框架中,@Param主要是用来注解dao类中方法的参数,便于在对应的dao.xml文件中引用,如:在userDAO类中有这么一个函数:public User selectByNameAndPwd(@Param("userName") String name,@Param("Password") String )在其对应的dao.xml文件中的查询语句则为:select username,password from user where username=${userName} and..原创 2020-07-21 10:02:06 · 1092 阅读 · 0 评论 -
使用EHCACHE搞定SPRING BOOT 缓存
创建个项目先看下大概路径新建个springboot项目然后是pom<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.原创 2020-07-17 10:50:08 · 167 阅读 · 0 评论 -
builer链式创建对象
package com.atguigu.springcloud.entities;/** * Created by IntelliJ IDEA. * User: zhuangzibing * Date: 2020/7/16 */public class MessageTask { private String taskId; private String content; private String messageId; private String tas.原创 2020-07-16 11:31:02 · 433 阅读 · 0 评论 -
项目虚拟端口映射
不想做重复 项目,就弄个copy项目。项目虚拟端口映射原创 2020-07-10 16:47:59 · 192 阅读 · 0 评论 -
SpringMVC的执行流程,工作机制
用户的 HTTP 的请求提交到 DispatcherServlet。 由 DispatcherServlet 控制器查询一个或多个 HandlerMapping,找到处理请求的Controller。 DispatcherServlet 将请求提交到 Controller,Controller 调用业务逻辑处理后,返回 ModelAndView 业务逻辑处理完了,这时候DispatcherServlet 查询 ModelAndView DispatcherSer...原创 2020-07-09 09:25:48 · 206 阅读 · 0 评论 -
Spring如何解决的循环依赖问题
先说下spring注入属性为null最主要的原因就是自己new的,是不给spring分配的,要么改成spring扫描注入,要么自己去获取bean如何理解“依赖”呢,在Spring中有:构造器循环依赖 field属性注入循环依赖构造器循环依赖(失败)@Servicepublic class A { public A(B b) { }}@Servicepublic class B { public B(C c) { }}@S..原创 2020-07-08 10:33:33 · 836 阅读 · 2 评论 -
Hystrix的仪表盘配置
先配置仪表盘项目 ,9001端口pom<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://原创 2020-07-02 17:19:24 · 279 阅读 · 0 评论 -
SpringCloud第七节内容精简(下),Hystrix断路器和服务熔断
服务的降级->再到熔断 ->恢复调用链路当检测到响应正常后,恢复。修改 8001项目的service层。窗口期10秒,10秒内错误达到一定次数接下来输入对的也会失败package com.atguigu.springcloud.service;import cn.hutool.core.util.IdUtil;import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;import com.原创 2020-07-02 17:06:50 · 141 阅读 · 0 评论 -
Hystrix断路所有配置
原创 2020-07-02 16:32:12 · 223 阅读 · 0 评论 -
JMeter安装和简单使用和乱码问题
下载地址:http://jmeter.apache.org/download_jmeter.cgi,(Windows版本下载.zip,Linux版本下载.tgz)新增JMETER_HOME环境变量,变量值为JMeter解压的路径编辑CLASSPATH变量,加上%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar;完成以上...原创 2020-07-01 17:00:12 · 201 阅读 · 0 评论 -
解决前端传boolean型(true或false)到java后端,后台接收的值永远为false的问题
大概原因除了变量要改为Boolean类型 ,大写的 而不是 小写的还有个原因就是idea对布尔型生成的getset方法方法不对,要自己按照getset格式补全原创 2020-07-01 16:57:29 · 9823 阅读 · 1 评论 -
rabbon手写轮询算法
在8001和 8002提供者的控制前添加@GetMapping(value = "/payment/lb")public String getPaymentLB(){ return serverPort;}先去掉80项目的注释@LoadBalance@Componentpublic class MyLB implements LoadBalancer{ private AtomicInteger atomicInteger = new AtomicInteger原创 2020-06-30 17:31:30 · 148 阅读 · 0 评论 -
docker里安装consul,以及遇到的坑
docker pull consul:1.6.4版本随意启动命令docker run --name consul1 -d -p 8500:8500 -p 8300:8300 -p 8301:8301 -p 8302:8302 -p 8600:8600 consul agent -server -bootstrap-expect 1 -ui -bind=0.0.0.0 -client=0 .0.0.0这里有个坑,注意这个数字1,代表的是单机的意思。2是集群一开始写成2,导致web界面.原创 2020-06-30 11:26:17 · 6151 阅读 · 0 评论