- 博客(75)
- 资源 (1)
- 问答 (2)
- 收藏
- 关注
原创 简单工厂和工厂模式
首先是一个引入的例子,在这段代码中,根据配置文件的后缀选择不同的解析器。将存储在文件中的配置解析成内存对象RuleConfig第一次优化:将上边代码中涉及parser创建的部分剥离出来,抽象成createParser()函数。第二次优化:为了让类的职责更加单一、代码更加清晰,还可以把createParser()函数放到一个独立的类中,让这个类只负责对象的创建。而这个类就是简单工厂类上边是第一种实现简单工厂模式的方法,下边是第二种实现简单工厂模式的方法。
2022-11-05 22:35:02
809
原创 记一次git冲突解决
因为用的是gitlab,我一开始就在gitlab网页上点击了处理冲突的按钮,点进去的界面是一左一右,左边是我的,右边是master的(theirs)。这是必然的,在这个时候重新处理一次冲突合并就行了,只需要把蓝色和绿色的代码也一并复制到中间的结果区,最后确定,就可以解决问题。于是我只处理红色的冲突部分,我是这样处理的:我把左侧我的代码复制,然后粘贴到中间。比如这个我觉得应该是有用的,但是由于我使用git的习惯是命令行+idea按钮,对git命令行不完全熟悉,所以我按照这个教程没有走完,在这里贴一下链接。
2022-10-17 22:41:29
1769
原创 MyBatis的一对多和多对一关系映射
fetchType:当开启了全局的延迟加载之后,可以通过该属性手动控制延迟加载的效果,fetchType="lazy(延迟加载)|eager(立即加载)"开启后,需要用到查询dept的时候才会调用相应的SQL语句。开启延迟加载,只运行获取emp的SQL语句。2. 根据部门id查询部门中的所有员工。关闭延迟加载,两条SQL语句都运行了。查询员工信息以及员工所对应的部门信息。
2022-09-07 21:53:24
237
原创 特殊SQL的执行
/** * 根据用户名进行模糊查询 * @param username * @return java.util.List * @date 2022/2/26 21:56 */List getUserByLike(@Param("username") String username);
2022-09-03 17:33:26
157
原创 MyBatis各种查询功能
如果查询出的数据只有一条,可以通过实体类对象接收List集合接收Map集合接收,结果{password=123456, sex=男, id=1, age=23, username=admin}
2022-09-03 16:43:12
139
原创 MyBatis编写xml获取参数值的方式
MyBatis获取参数值的两种方式:${}和#{}${}的本质就是字符串拼接,#{}的本质就是占位符赋值${}使用字符串拼接的方式拼接sql,若为字符串类型或日期类型的字段进行赋值时,需要手动加单引号;但是#{}使用占位符赋值的方式拼接sql,此时为字符串类型或日期类型的字段进行赋值时,可以自动添加单引号
2022-09-02 23:11:24
2152
原创 平安集团金融壹账通面经
10月份的事。平安集团可以投6个子公司,每个子公司可以投2个部门。官方の海投。印象最深的一点就是,两轮面试官都是架构师。问题不是很难,没有深挖项目。一面是扣知识点的细节理解,二面是整体的知识脉络梳理。二面隔天就hr面了,等开奖中。...
2021-11-05 18:48:35
2397
2
原创 民生总行科技岗面经
软件开发岗,业务线是直销银行,base北京顺义。6月份笔试,8月份约面试,10月份offer。一个字,佛。笔试最接近互联网风格的笔试。因为是提前批,所以编程题a的不是很多,侥幸进了面试面试分为两轮。一面是两位面试官,同事+领导。问的范围和互联网差不多,项目和框架,但是问的偏基础,半个小时左右。二面应该是领导面试了。和农行一样都是群面,但是只有3个候选人。面试官一共问了我三个问题1、你有什么缺点2、你是物联网学院的,能不能解释一下什么是物联网3、项目的运行流程
2021-11-05 18:34:33
7093
2
原创 Zoom WebTeam面经
8.28做的笔试,9月下旬约面试。一面开场:面试官自我介绍的时候说他写了10年的java,属实把我整的有点紧张。问我除了java有没有接触过别的语言,我回答说因为苏州某兄弟院校学的是c/cpp,所以我们系主任设置课程的时候选择了主修java,面试官说“理解理解”。之后提问了经典的java三大特性,我当时补充了一句“从我学java的时候就有人说java要死了,但是到我硕士快毕业还活着,一大半功劳得归结给spring”,面试官笑着说“java确实死不了,就是框架迭代太快了”。问答:0、创建对
2021-10-28 18:14:32
2031
3
原创 58同城HBG面经
房产部门,负责58主站房产板块和安居客的技术中台一面0、自我介绍1、String StringBuilder StringBuffer2、HashMap连环问3、算法:找出数组中最小的数。听到这个题目我当时愣了好久,反复确认好几次题目意思。面试官以为我不会,安慰地说,实在不行写个伪代码。。。。二面当时刚和导师开会回来,下了高铁发现面试时间到了,扔下导师跑到附近的肯德基。面试官惊讶了一下,问我在哪里。解释了一下之后问我参加的会议是什么方向的,然后全程交流深度学习。从我的研究
2021-10-27 13:05:23
590
原创 字节跳动商业化一面
投的后端但是被转到客户端。0、委托模式的场景和好处1、SOLID原则2、spring用到的设计模式3、tcp可靠传输的保证4、https流程5、如何停止一个线程6、ArrayList的ConcurrentModificationException怎么解决/避免7、HashMap LinkedHashMap TreeMap8、算法题:最经典的dp,面试官大好人是想让我体面一点的,没接住。。。...
2021-10-26 18:30:08
356
原创 美团两次一面(民宿、打车)面经
笔试成绩比较低,被后端捞起来kpi,之后转到了测开又面了一次。后端一面全程八股文0、AIO听过吗1、NIO和BIO的优劣对比2、什么时候会用到factorybean,而不是xml3、http状态码4、post和get的区别5、转发和重定向的区别6、索引是怎么提高查询速度的7、事务的概念和特性测开一面没记录。应该是之前的面评还凑活才捞的我,这次一搞面评应该花了。...
2021-10-26 18:26:40
249
原创 同程旅游火车票部门面经
技术面只有一轮,面试官老烟嗓了0、行锁升级成表锁1、事务传播机制2、ThreadLocal会导致内存溢出吗,是弱引用的原因吗3、三个线程按顺序打印ABC怎么做4、可重入锁怎么实现5、spring的启动过程/被谁启动的/入口点6、linux常用命令hr面待遇太低了,是我手里最低的,还不给a...
2021-10-26 18:21:26
272
原创 360智慧城市部门面经
一面0、动态代理和静态代理1、jdk代理和cglib的区别2、springboot的开发和测试环境怎么配置、切换3、Integer 的==二面0、BIO、NIO和AIO1、伪异步IO2、Reactor模式3、除了netty之外的技术框架有哪些4、零拷贝,能优化成真正的零拷贝吗5、RPC框架参考过dubbo的实现吗,dubbo扩展了哪些功能6、带权轮询的权是什么、怎么确定的7、protobuf协议的优缺点,dubbo支持哪些序列化协议8、protob
2021-10-26 18:16:40
256
原创 度小满支付部门面经
一面GET和POST的区别HTTP2.0的特性压缩头部、多路复用、请求优先级、二进制分帧HTTP和HTTPS的区别OSI哪七层,TCP在哪一层三次握手,两次可以吗,四次可以吗TCP如何保证可靠传输ACID,隔离级别innoDB如何实现可重复读的,read view是什么时候创建的innoDB索引的数据结构是啥,为啥不用B树命中联合索引为什么不需要回表因为实现了索引覆盖redis常用数据结构ziplist:双向链表,但是所有节点都在连续的空间,p
2021-10-26 18:12:14
351
原创 bilibili主站技术中心一面
0、IoC项目的实现细节和整体思路1、三级缓存2、tcp粘包的原因和解决方法3、HashMap插入key的过程4、HashMap为什么不直接用红黑树呢5、redis底层有哪些数据结构6、为什么zset用跳表,不用红黑树二叉查找树呢7、redis的数据类型的应用场景8、Spring用到了哪些设计模式9、aop的使用场景10、缓存击穿 缓存穿透 缓存雪崩11、缓存总是要失效的,除了设置过期时间长一点还有别的方法吗12、联合索引的回表13、可重复读的实现原理
2021-10-26 18:08:58
171
原创 阿里菜CAI鸟NIAO面经
一面XML和注解实现IoC的差别Bean和对象的区别生命周期的管理BeanFactory和FactoryBeanBeanFactory是IOC最基本的容器,负责生产和管理bean,比如获取bean或者bean的属性。它为其他具体的IOC容器提供了最基本的规范,例如DefaultListableBeanFactory, XmlBeanFactory,ApplicationContext 等具体的容器都是实现了BeanFactory,再在其基础之上附加了其他的功能。FactoryB.
2021-10-26 18:05:44
240
原创 京东提前批面经
0、自我介绍1、三次握手2、四次挥手,每一次挥手之后客户端和服务器的状态,为什么TIME_WAIT是2倍最大报文存活时间3、NIO和BIO的区别,Selector和Epoll的底层原理4、同步和异步的区别,异步底层的实现原理5、Bean的生命周期6、BeanDefinitionReader是怎么读取XML中的配置的7、Bean实例的创建有哪几种方式8、AOP的理解,代理方式,代理底层怎么实现的9、SpringMVC的流程,View输出的是什么,Handler的作用是什么
2021-10-26 18:02:01
123
原创 虾皮shopee提前批面经
一面95min0、自我介绍1、实习干啥了2、为啥不去互联网公司实习3、专硕做实验室项目吗4、jvm内存结构,对象只能存在堆中吗,逃逸分析懂吗5、arraylist和linkedlist区别,用arraylist有哪些要注意的6、数据库并发问题7、数据库隔离级别,mvcc能解决幻读吗,mvcc怎么能可重复度的8、redis有什么应用场景,还有呢9、如果把商品缓存在redis,但是基本上只有一两个key被访问,其他key都不被访问,这个时候你可以做什么10、red
2021-10-26 17:57:46
301
原创 农行上海研发中心面经
笔试八月还是九月来着记不得了。题量很大,选择判断填空算法。风格好比大学考试。难不难,就是题量大时间短,一共120min。算法是三道easy而且测试用例应该不多,没有特殊用例。面试九月底线下面试。到了之后先手撕一道算法题。我的题目是实现类似replace的算法。我想这直接用api,但是我忘了怎么写了。。。。于是自己实现了一边,从读取输入到输出,基本每行都写了注释。解法看着很笨,但是我觉得救了我之后是面试。群面。8个同学一个小组,7个面试官,中间是主管负责主持,其他6位负
2021-10-26 17:39:13
1833
原创 万得资讯 java开发面经
一面0、自我介绍1、Netty高性能的体现2、零拷贝的底层原理3、自定义消息如何实现的,消息的字节流每一部分都是什么4、BIO和NIO的区别5、Server端怎么编写二面0、自我介绍1、实习内容,上线了吗,为什么不想实习转正2、挑简历里的一个项目讲一下3、项目实现的时候遇到了什么问题4、讲讲JVM5、Redis的特性,为什么快6、学习一项新技术的时候,学习方法是什么7、反问HR面0、大学里担任过班干部吗,学生会干部呢1、绩点
2021-08-02 18:18:11
795
2
原创 大华研发中心提前批面经
0、自我介绍1、写过哪些demo2、简历里项目的功能和亮点3、讲讲List Set 和Map4、什么是单例模式5、在自己的项目中实现过单例模式吗6、聊天信息敏感词过滤的实现思路7、快排实现思路8、Java的主流框架用过哪些...
2021-07-20 23:18:03
297
原创 Arrays.sort()对数组的逆序实现
如果是比较一维数字数组的话,用Integer[]来初始化数组Integer[] arr1 = new Integer[]{1,3,2};然后要用Comparator来逆序,源码是这样的public static <T> void sort(T[] a, Comparator<? super T> c) { if (c == null) { sort(a); } else { ...
2021-06-28 23:56:22
5142
原创 猫眼娱乐实习二面面经
0、自我介绍1、实习做了什么2、RPC框架实现了哪些功能3、RPC工作原理4、有相应的注册中心吗5、netty的通信和socket的通信有什么区别6、netty使用了什么样的线程模型7、netty中客户端发送请求到得到返回的数据经历了哪些过程8、netty实现异步的原理9、我认为你的项目不能称之为RPC框架,只是做了一个跨网络的调用。你认为一个完善的rpc框架应该实现哪些功能10、负载均衡算法有哪些11、RPC框架的序列化怎么处理的,用了哪个版本的json12
2021-06-21 20:00:16
407
原创 农行上海研发中心实习面经
0、自我介绍1、java的传值和传引用2、mysql的默认隔离级别3、java的基本数据类型4、I/Omo'xi'ni'g
2021-06-18 16:32:43
560
1
原创 猫眼娱乐实习一面面经
远程面试一个小时,被干的稀碎。0、自我介绍1、如何判定垃圾,垃圾回收算法2、jvm了解哪些3、一段关于synchronized的代码,会怎
2021-06-18 16:21:09
587
3
原创 MySQL的聚合函数是否忽略NULL
MySQL常见的聚合函数有以下几个:AVG(), MAX(), MIN(), SUM(), COUNT()q
2021-06-08 19:58:09
1615
原创 【深入理解jvm阅读笔记】类加载机制
定义类加载机制指的是把Class文件变成jvm能直接使用的java文件的过程类的生命周期加载→验证→准备→解析→初始化→使用→卸载类加载过程也就是类的生命周期的前5个,接下来介绍一下每个过程的功能加载:主要3个功能。①通过一个类的全限定名来获取此类的二进制字节流,就是通过Class.forName("全类名")方法将java程序从Source源代码阶段引入到Class类对象阶段 ②将这个字节流所代表的静...
2021-05-13 21:39:26
216
2
原创 【深入理解jvm阅读笔记】经典垃圾收集器
针对新生代Serial收集器:特点是单线程,"Stop the World"ParNew收集器:Serial的多线程版本Parallel Scavenge收集器:基于标记-复制算法,多线程。和ParNew的区别是,它重在强调吞吐量 吞吐量 = 运行用户代码时间 / (运行用户代码时间+运行垃圾收集时间) 提供两个参...
2021-05-13 16:40:06
147
原创 【深入理解jvm阅读笔记】java内存区域
java堆java堆是垃圾收集器管理的内存区域,大小可以扩展,通过参数-Xmx-Xms设定-Xmx指最大堆大小。-Xms指最小堆大小,也就是初始化的大小。方法区方法去中存储常量、静态变量运行时常量池中存储字段、方法运行时常量池运行时常量池在方法区中,同时,在方法区中还有一个与之对应的叫Class文件常量池他们的区别在于:java并不要求常量一定只在编译期间才能生成,也就是说并非预置入Class文件常量池的内容才能进入运行时常量池(比如Stri...
2021-05-12 18:32:06
165
原创 Channel、ChannelPipeline、ChannelHandler、ChannelHandlerContext
每一个Channel被创建,就会生成对应的一个ChannelPipeline和它绑定。ChannelPipeline中包含了一个处理该Channel消息的ChannelHandler链。当每一个ChannelHandler被注册到该ChannelPipeline中就会生成一个对应的 ChannelHandlerContext,和该ChannelHandler进行绑定。一个ChannelHandler可以从属于(注册到)多个ChannelPipeline。所以,一个ChannelHandler..
2021-04-12 13:31:30
296
原创 Release实习笔试
主要和SQL有关第一题:写一条关于模糊搜索的SQL,如何针对模糊搜索进行快速检索第二题:如何根据特定值筛选数据库中的房源第三题:在小程序中如何实现用户对各个房源的收藏功能 1、用户信息获取 2、如何将收藏信息保存到数据库中...
2021-02-26 16:34:57
102
原创 Java 8 新特性
Lambda 表达式− Lambda 允许把函数作为一个方法的参数(函数作为参数传递到方法中)。 方法引用− 方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。 默认方法− 默认方法就是一个在接口里面有了一个实现的方法。 新工具− 新的编译工具,如:Nashorn引擎 jjs、 类依赖分析器jdeps。 Stream API−新添加的Stream...
2021-02-25 22:36:57
125
转载 为什么要实现序列化?
工作中我们经常在进行持久化操作和返回数据时都会使用到javabean来统一封装参数,方便操作,一般我们也都会实现Serializable接口,那么问题来了,首先:为什么要进行序列化;其次:每个实体bean都必须实现serializabel接口吗?最后:我做一些项目的时候,没有实现序列化,同样没什么影响,到底什么时候应该进行序列化操作呢? 网上找了很多资料,但是感觉大都没有说的很清楚,所以结合自己的理解做一下总结。 首先第一个问题,实现序列化的两个原因:1、将对象的状态保存在存储媒体中以便可以在以
2021-02-05 23:04:08
3179
3
原创 Please, configure Web Facet first!
idea中jsp页面右键Open in Browser时报错,Please, configure Web Facet first!这是因为项目的web文件路径错误导致的。解决方法:1、打开Project Structure2、按照上图的提示,修改web源文件的路径即可。因为我把idea默认生成的webapp的文件家移动到了src/main/目录下,所以报了如上的错。之后把tomcat配置好之后就可以进入8080了...
2021-01-30 20:08:23
7743
3
原创 Access denied for user ‘Walter‘@‘localhost‘ (using password: YES)
在动手学习做ssm项目的时候遇到了数据库连接的问题,一开始用的是c3p0,然后报错就以为是连接池的原因,换了德鲁伊之后还是出现上图的一模一样的错误。通过cmd手动开启mysql然后进行对比发现是用户名不一样,在cmd里的用户名是root,而不是图中的Walter。因为在项目中我是用配置文件写成这样的形式username=root然后让xml加载的,但是我发现加载的时候虽然我写的是root,程序执行的时候还是会把原本应该是root的用户名变为Walter。于是干脆暴力的把配置文件中的user
2021-01-28 16:09:29
334
A*算法原版论文
2019-04-22
已经安装了C插件的eclipse怎么新建.c文件
2017-01-20
如何在UBUNTU中安装irobot的驱动
2016-05-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人