- 博客(47)
- 收藏
- 关注
原创 @value 默认值
正确的赋默认值方法如下,示例中diff的默认值是10,如果application文件中将值赋值为100,则100生效。如果配置文件中没有赋值,则启动时不会报错,并且其初始值为100。另外,以下写法并没有任何作用和意义。如果配置文件中没有对此赋值,则报错。
2023-03-10 09:55:52
658
原创 maven依赖导入失败
手动在https://mvnrepository.com/中下载包但是update以后依然无法引入成功,依赖是红色。maven不知道现在不需要再从仓库中下载包,尝试连接仓库失败后直接报错。插上网线,并且保证你的仓库可以连接成功。
2022-12-01 14:33:58
206
原创 maven 打的jar包很小
maven打的jar很小,才十几K,可以准确地怀疑我的jar没有打进来。需要在pom中添加如下。因为插件spring-boot-maven-plugin的意思是,repackage时在mave原来package的基础上重新打包把依赖打进去。executions在执行package时就还是只有代码没有依赖的包。如果这个项目是用jenkins部署的,jenkins一般默认的配置是只帮你执行mvnpackage那就GG了。...
2022-07-26 16:35:10
4460
5
原创 git repositories是什么,git提交失败的原因是什么
commit失败,commit的时候出现带问号的文件,提交以后在远程页面查看不到自己的代码,有文件夹也点不进去
2022-07-26 09:41:50
1214
原创 scanBasePackages扫包范围配置
@SpringBootApplication(scanBasePackages = “???”)如果扫包错误会提示各种找不到bean的错误,spring无法启动检查方法每一个类前面要有一个这样的圆圈才是正确装了bean
2022-07-01 15:07:17
1823
原创 mysql分组求最大数据
求每个user_name的最新create_timeselect a.* from sys_log as a where create_time = (select max(create_time) from sys_log where user_name = a.user_name) order by a.user_name
2022-06-14 10:41:50
247
原创 clickhouse 导入CSV失败 不报错但是无数据
现象:执行导入命令,执行后没有系统任何报错,检查日志也无问题,但是检查表中其实并没有导入成功clickhouse-client --port 9100 --query=“insert into ods.cp_ods_travel FORMAT CSV” < /tmp/csv/data.csv问题原因:不明,极有可能是ck的隐藏bug解决方案:复制表并重命名,把数据导入这个一模一样的新表,成功!...
2022-05-26 17:06:00
1022
1
原创 java后端学习路线
编程基础(掌握)JAVA语法Java基础JVM类加载机制字节码执行机制JVM内存模型GC垃圾回收JVM性能监控与故障定位JVM调优多线程并发编程的基础线程池锁并发容器原子类JUC并发工具类### 数据结构和算法数据结构字符串数组链表堆、栈、队列二叉树哈希图算法排序查找贪心分治动态规划回溯### 计算机网络ARP协议IP、ICMP协议TCP、UDP协议DNS、HTTP/HTTPS协议Session/Cookie### MyS
2022-05-26 11:58:09
169
1
原创 Joiner.on和stream().map联合使用技巧
List<String> test=new ArrayList<>();test.add("我");test.add("你");String result = Joiner.on("&").join(test);List<String> collect = test.stream().map(item -> "\"" + item + "\"").collect(Collectors.toList());String join = Joiner.o
2021-11-25 17:00:22
398
原创 Rowkey设计
HBase是根据Rowkey来进行检索的,系统通过找到某个Rowkey (或者某个 Rowkey 范围)所在的Region,然后将查询数据的请求路由到该Region获取数据。HBase的检索支持3种方式:(1) 通过单个Rowkey访问,即按照某个Rowkey键值进行get操作,这样获取唯一一条记录;(2) 通过Rowkey的range进行scan,即通过设置startRowKey和endRowKey,在这个范围内进行扫描。这样可以按指定的条件获取一批记录;(3) 全表扫描,即直接扫描整张表中所有行记
2021-09-22 11:28:36
429
原创 hdfs shell 基本操作
hadoop fs -help ls查看ls命令的帮助信息hadoop fs -ls / 查看根目录所有文件hadoop fs -cat 文件名 查看文件
2021-09-01 15:00:23
116
原创 hbase常用操作
‘’两个单引号 当命令行出现星号的时候使用hbase shell进入hbasectrl+backspace退格ddldmllisthelp查看所有命令create ‘probe_log’,‘info’创建表,表名+列族名,该名称任意describe ‘probe_log’查看表信息 表名create_namespace ‘probe_log’新建命名空间createcreate ‘probe_log:user_event_v2’,‘info’在命名空间下新建表...
2021-05-20 10:30:18
350
原创 java 动态导出csv文件 (csv的列标题根据传入参数的不同发生变化)
/** * 该方法在需打印列表格式为List<Map<Object, Object>>时适用 * author:ty * */ public void exportSomeCsv(List<ProbeLogEntity> list, String csvName, List<SysFiledExportTaskDto> exportSignals) throws Exception { for (int i = 0; i <
2021-05-14 11:09:51
525
1
原创 无符号右移
public static void main(String[] args) { System.out.println("java 右移"); // Integer a = -5; Integer a = 5377; System.out.println(Integer.toBinaryString(a)); System.out.println(Integer.toBinaryString(a >> 2)); // 有符号右移 System.ou
2021-05-06 10:59:44
154
原创 java byte[] 数组 ASCII码的十进制、十六进制和字符串的转换
import java.util.Arrays;/** * Created by XiChuan on 2018-11-07. */public class TestMain { private static final char[] HEX_CHAR = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; public static void
2021-04-30 09:19:38
3327
2
原创 mavan中的plugin位置
**仓库位置+groupid+artifactId** <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>2.1
2021-04-25 10:04:46
3357
原创 ibatis查询数据为空
今天遇到一个问题是在navicat中运行的sql语句能够查询数据,但是放到ibatis查询到的日志为0条,日志如下。JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@4e8b6160] will not be managed by Spring==> Preparing: SELECT sum(acc)**************ROUP BY model ==> Parameters: 2021-04-01(String), 2021-
2021-04-12 11:47:04
689
原创 栈内存的作用
待执行的方法会写在栈内存中。如果代码bug导致出现死循环,java就会报栈内存溢出,这样可以预防服务器崩溃。如果不出现死循环,而递归次数过多(比如一万以上),也会出现栈内存溢出。因为递归是把所有方法全部列举出来,压入栈中,从栈底一直累加到栈顶,直到条件结束,才一次性一起执行。堆内存用于存储数据,当数据量过大时会出现栈内存溢出。比如把一个list不停地复制,或者在数据库中一次性读入一个过大的list。 堆内存的大小是可以手动修改的。...
2021-04-07 17:29:52
266
原创 找不到reduceByKey方法
排除版本问题:1.2.0版本以上有该方法排除import出错问题:按照其他网友的说法引入了import org.apache.spark.SparkContextimport org.apache.spark.SparkContext._依然没有解决最终找到问题:我要处理的rdd根本就不是一个map,根本没有key,当然用不上reduceByKey了。。。原代码 val mapRDD = importdata.map { s => { val t = s.split(
2021-04-07 11:23:05
1002
原创 java-spring使用JDBC链接mysql查询效率问题
同一个sql语句在navicat中直接查询花费时间时20S;在spring中查询花费时间超过100S。不是数据库连接花费的时间长,由查询效率来看还确实是查询效率变低了。经验教训:使用java查询数据库时尽量利用java的优势,把查询放到内存中进行,尽量不要写超长的sql,尽量减少查询的次数,尽量不要联表查。TODO:研究下是否java需要设置线程来提高运行速度?哪位大佬可以指点?...
2021-03-01 18:42:04
460
原创 spark查看程序运行日志
这个方法查看到的是jar运行的日志,如果在yarn界面检查logs查到的是yarn调度的日志,对bug排查没有用1、登陆到运行jar包使用的账号,使用root不行2、yarn logs -applicationId application_16117_0472 输出所有日志文件大的时候使用这个会打印非常长的日志,半个小时都打不出来要看的东西3、yarn logs -applicationId application_16117_0472 | grep -i -A 第一条| grep -i -A 的
2021-02-20 10:36:13
1231
原创 lamda没必要学 勉强看懂就行了
在线程中使用lamdahttps://blog.csdn.net/qq_42185895/article/details/111309048String[] atp = {"C", "B","A"};List<String> players = Arrays.asList(atp);// 以前的循环方式for (String player : players) { System.out.print(player + "; ");}// foreach循环使用的就是la.
2021-02-03 18:10:08
302
原创 @Test测试类的使用
1、在plugin中安装grails和junitgenerator并重启idea2、在任意public方法前添加注解@Test,出现红色字体时导包3、方法前出现绿色三角形表示成功,代码可于此处开始执行,等同于main方法使用import org.junit.Test;public class f { @Test public void y(){ System.out.println("test"); }}...
2021-01-26 15:18:24
1753
原创 limit offset 用法
感谢博主 https://www.cnblogs.com/dongml/p/10953846.htmlmysql里分页一般用limit来实现select* from article LIMIT 1,3select * from article LIMIT 3 OFFSET 1上面两种写法都表示取2,3,4三条条数据另外注意所有的limit和offset都建立在结果集的基础上,和原始的表无关。在查询条件不变的情况下,结果集是不会变的,不必担心页码会乱的问题。因为分页查询本来就是mysql的一个功
2021-01-21 10:36:13
308
原创 win10 中启动mysql
1、在系统中搜索service,“服务”中启动Mysql服务。此时进程中有mysqld进程在运行,这是数据库的服务端。2、运行cmd,进入bin目录 ,输入mysql -hlocalhost -P3306 -uroot -p
2021-01-20 14:01:15
297
原创 JAVA map类的基本使用方法
两种主要分类//无序集合,读取速度快Map<String,String> map=new HashMap<>();//有序集合Map<String,String> linkmap=new LinkedHashMap<>();
2021-01-19 12:08:43
364
原创 JAVA多线程
多线程定义默认Java程序使用单线程。通过在main中new tread类,可以让程序在多个线程运行。也就是通常理解的一个进程包含了多个线程。百度百科:在多核或多CPU,或支持Hyper-threading的CPU上使用多线程程序设计的好处是显而易见,即提高了程序的执行吞吐率。在单CPU单核的计算机上,使用多线程技术,也可以把进程中负责I/O处理、人机交互而常被阻塞的部分与密集计算的部分分开来执行,编写专门的workhorse线程执行密集计算,从而提高了程序的执行效率。java不知道计算机有多少个
2021-01-08 12:01:50
221
1
原创 一次性代码
不要写一次性代码!不要写一次性代码!不要写一次性代码!怎么才不会写出一次性代码:1、写代码一定要写注释,为了让自己看懂2、测试完成后,一定要记得提交到git,不要留在自己的电脑里,因为你很快就会忘记自己写了什么3、不要一个方法写一千行,尽量拆开,能拆多少就拆多少,写个传参和返回费不了多少时间4、传参和返回尽量地多,全部集成到dto中5、不要为了临时任务(肉眼可见地1天结束)去写代码。找出长期规律,一定要找到未来都可以用到这个代码的点,然后有针对性地设计耦合。临时任务不会让你涨工资,只会更快猝
2021-01-08 11:24:49
2113
原创 利用colletion高端操作list,批量添加元素、打乱顺序、排序
public class testa { public static void main(String[] args) { List<String> list=new ArrayList<>(); // 批量添加元素,结果为1,2,3 Collections.addAll(list,"1","2","3"); //打乱元素顺序,结果为2,1,3 Collections.shuffle(list);
2021-01-06 18:53:27
280
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人