java
文章平均质量分 63
我来杀ai
我觉得,世界上没有什么最难受的事,永远只有更难受的事
展开
-
jvm调优的通用基准
ParallelGC:1.8默认,高吞吐量,响应时间不敏感。并发不明显,响应要求不高应用:推荐使用ParallelGC。高并发快响应应用:8G及以上选择G1,8G以下选择CMS。CMS:响应优先,堆内存8G以下优先选择。G1:响应优先,堆内存8G及以上选择。原创 2023-02-08 11:31:37 · 518 阅读 · 2 评论 -
记录一个奇怪的问题,maven可打包,代码没红,编译提示找不到包
今天遇到一个奇怪的问题用的idea maven ,编译,打包都能够成功。项目中没有错误行运行SpringBoot的启动类的时候,会提示包**不存在。网上找了很多解决方案 最后终于成功了,特此记录分享下Idea Terminal 中 输入mvn idea:idea 菜单栏File Invadiate Cache/Restart 然后就好了...原创 2020-12-03 20:01:38 · 622 阅读 · 0 评论 -
mysql B+树层高计算《嘀嗒出行面试》
本文需要有mysql底层知识做铺垫****mysql默认page大小为16K,这个可以调整,但是必须是4的倍数,因为操作系统每次和硬盘交互数据取的就是4K的块1、分析b+树非叶子节点情况 ,假定一个表用int类型作为主键,占用4个字节,而指针大小在InnoDB源码中设置为6字节,一共10个字节,根节点一页就能存放16K/10 约为1600个指针满编的B+树一层能存放的指针数据为1600*1600 约为256W条数据,二层大约为4亿数据。此时B+树高度为4,因为有叶子节点的存在。假定数据表一行原创 2020-11-04 21:43:37 · 2379 阅读 · 0 评论 -
记录一道美团的面试题,顺时针打印二维数组
static int [][] data = { {1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13,14,15,16}}; public static void main(String[] args) { int a=0; int b=3; int c=3; int d=0; in...原创 2020-10-26 13:27:32 · 160 阅读 · 0 评论 -
CSV 文件处理(笔试)
题目:# 笔试题: CSV 文件处理给定一个 CSV 文件,其内容的展现规则如下:- 每一行数据包含多个字段,字段间以 [,] 分割。- 如果字段值不含有 [,] 和 ["] ,直接解析输出。- 如果字段值内部含有逗号 [,],在在字段值两边加上双引号 ["] 将字段值括起来。- 如果字段值内部含有双引号 ["],则字段值两边加上双引号 ["] 括起来,同时,将字段值内的一个双引...原创 2019-05-30 16:58:09 · 1788 阅读 · 0 评论 -
字符串去重,保持输出结果(笔试)
最简单的方案,放到LinkedHashSet()再输出出来,绝对的有序且去重,时间复杂度不高,hashset底层用的HashMap(),增加元素时间复杂度O(1)——O(n)代码:ps:为了方便测试我把参数写到了方法里面 @Test public void ceshi(){ String a = "AAABBDFDAC"; Set set ...原创 2019-05-30 16:19:44 · 4488 阅读 · 0 评论 -
倒三角(笔试)
实在想不出来这个题有什么意义,但是又不能不写,虽然写了面试也过不了,这题没啥好说的,也没什么技术难点,应用……可能也没有**************** ***** *** * @Test public void printSanJiao(){ for(int i=0;i<5;i++){ for(int ...原创 2019-05-30 10:39:48 · 188 阅读 · 0 评论 -
数组实现长数字相加(笔试题)
使用数组实现加法,测试类用了@Test,没环境的可以写main方法直接跑import org.junit.Test;/** * Created by malin on 2019/3/19. */public class Longadd{ @Test public void test(){ String a = "9999999999999";...原创 2019-05-30 10:12:00 · 421 阅读 · 0 评论 -
java实现简单的链式结构一(单链表)
java由于没有指针,实现链表可以通过对象的引用代替指针记录对象位置完成--链表的默认插入方式有两种1.头插法:每次插入的节点为链表头,最初插入的节点为链表尾。(每个新来的数据放在最前面,类似于一个栈) 实现:需要链表类定义全局的头结点对象,每个节点包含了本身携带的数据及下个对象的引用(这里的下个对象就是在你前面进来的那个数)。2、尾插法 :每次插入的节点放在链表尾部,符合...原创 2019-04-24 18:09:05 · 685 阅读 · 0 评论 -
java实现简单的链式结构二(双向链表)
双向链表必要性 :单链表,不管是头插还是尾插都只是在增加头尾节点的时候能达到O(1),在知道某个具体中间节点的时候既不能直接增加节点,也不能 直接删除节点。原因就在于我们不知道该节点的前驱,导致不能修改前驱的next属性,如果在每一个节点加入前驱属性,就能在单独拿到一个节点的时候直接进行新增或删除操作,将新增删除已知任意节点的时间复杂度控制到O(1)。ps:表前驱元(previous)就是一个元素...原创 2019-04-26 18:21:12 · 290 阅读 · 0 评论 -
冒泡排序及其简单优化
1、理论上冒泡排序,每次从头到尾把最大的数找到放最后面,重复该操作数组长度的次数后完成排序,时间复杂度O(n的平方) 总计循环精确次数为 n*(n-1) 前面的n代表个数,每个数字都去跟所有数比较一次,后面的n-1位每个数的比较次数代码: /** * 理论上的冒泡排序 * 时间复杂度 O(n的平方) */ @Test public vo...原创 2019-04-10 17:11:04 · 235 阅读 · 0 评论 -
trycatch后还会执行finally吗?
答案是会,废话不多说,上码案例一:public class trycatchTest{ public static void main(String[] args) { String a = a(); System.out.println("主方法返回 :" + a); } public static String a(){ ...原创 2019-01-17 11:16:21 · 3731 阅读 · 0 评论 -
ibatis/mybatis出现 sql 语句 where in(参数1,参数2……参数1000) 超过1000个参数时候的解决方案
公司项目出现bug,查询后是由于sql 语句in()内参数查过1000引起的由于项目比较大,无法轻易修改或重构。公司框架比较老用了ibates 无法从xml配置里进行修改。所以本人写了段代码,当list数据量超过1000的时候调用另一套sql,传入一个字符串代替原本的sql 原本的sql补丁sql代码List<String> partnerId...原创 2018-10-23 17:01:48 · 2750 阅读 · 0 评论 -
mybatis调用存储过程实例及经验(springboot+mybatis+oracl)
上次的项目,要求我用java代码调用存储过程,折腾了好久。最后总算成功了。发片帖子纪念下,也给不懂存储过程的但是要调用的人一些提示首先介绍下存储过程(本人是不会写的,但是目前能看懂)create or replace procedure P_DAP_UNI_CUBE_INFO(V_CUBE_NAME IN VARCHAR2, --每个参数都有三部分 形参 in/out 类型, in是入参...原创 2018-07-11 16:37:20 · 15496 阅读 · 6 评论 -
jdbc超简单连接
一、JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。二、常用接口1.Driver接口 Driver接口由数据库厂家提供,作为ja原创 2017-09-27 17:35:36 · 853 阅读 · 2 评论