![](https://img-blog.csdnimg.cn/20200330143050320.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java进阶之路
介绍我认为一个Java工程师应该知道的东西
包含 Java基础,Java高级,数据库,网络,Redis,Kafka,ZooKeeper
五更依旧朝花落
这个作者很懒,什么都没留下…
展开
-
多线程使用实例:利用多线程进行网络访问以加快效率
之前看的多线程案例都是利用System.out.println() 来进行输出。那种其实简化了很多刚好最近有利用多线程进行网络访问。来提升效率。记录下背景:我负责的项目有个接口一直特别慢。经过分析:慢的原因是因为循环调用了同一个接口。我这个接口有两部分:一部分查询数据库。另一部分从远程服务获取数据。我分析后给出的方案是:处理到循环调用。查询数据库部分 将之前的类型getUser(int id)这种查询改成 listUser(List<String>)这种批量查询将对远程的访问利用.原创 2020-11-05 14:33:35 · 664 阅读 · 0 评论 -
Java虚拟机运行时数据区域详解
之前有篇文章写了Java虚拟机的内存管理本篇文章详细写运行时数据区域。程序计数器: 记录当前运行所在的行数。为什么要设计程序计数器?我们知道,CPU是根据时间片来进行调度的。当时间到达之后,CPU资源就给了其他线程。但是这个时候我们线程还没执行完毕。那后面再次获取时间片的时候我们要如何恢复线程呢?就是通过程序计数器。恢复到上次执行的哪一行。虚拟机栈: 是线程独有的。我们肯定通过栈帧,这个说法。每个线程有自己的栈,先进后出。看示例程序一。我们的线程先调用main方法,然后调用funB方法,.原创 2020-08-17 21:58:38 · 159 阅读 · 0 评论 -
Controller接口获取前端传递的参数,而不区分参数的名字的大小写
近期的项目里面有个功能是:我需要接受前端的参数,但是前端可能是之前需求的时候定义得不够规范,导致有的前端传递过来的参数是驼峰式的。有的是全部小写的。我必须得做相应的处理我开始想的是,Spring 里面有没有配置,例如拦截器或者过滤器什么的。请参数处理下。但是我在网上找了一圈,也没有操作了一下。结果没有成功后面换了一种思路。通过一个Map获取所有的参数(K-V)。然后将K小写。在绑定到我的Vo对象里面去。相当于手动替框架做了一次参数绑定涉及的知识点HttpServerletRequest,.原创 2020-07-16 15:53:24 · 1828 阅读 · 0 评论 -
构建Springboot项目小demo
最近面试+入职+然后打工,一直没有更新了。然后因为接到工作的任务时重构之前的接口。其实不算难。但其实我是之前做了一年测试,再做开发。还是不太熟练。然后今天回顾梳理下操作。下周开干。同时也是给下周开始的工作写个小demo目的写Restful的接口,将数据库的数据已json的数据格式返回(既然是小demo,今天只是初步连接数据库测试。不做复杂操作)相关技术点工具:idea,mysql,maven主要技术栈:Spring boot,mybatisplus,swagger为什么选Springboo.原创 2020-07-04 23:02:54 · 433 阅读 · 0 评论 -
面试小结
接上一篇 面试记录面试6-就是前面面试3的后续。时间:2020-6-24 16点左右面试形式:电话面试当时我还在面试7回去的地铁上。效果其实不怎么好面试:介绍下自己Java集合类线程池euqal和hashcode的关系好像就这些。还被嘲笑了。但是我认为应该都回答的没问题,这些知识点我都是比较清楚的估计表达能力没做好。下次面试说慢点。慢慢吐词面试7-前面面试2的后续时间:2020-6-24 15:00面试形式:现场面试结果:这是最后一面,有结果会通知我面试:自我介绍下原创 2020-06-24 23:27:50 · 161 阅读 · 2 评论 -
记录这两天的面试
这两天面试了几个。统一记录下面试一:无面试形式:电话面试面试来源:boss直聘结果:一天过去了还没收到结果,默认是凉了(这个面试参考价值比价低)面试时间:2020-06-22上午9:00中科软的,本来约的周六先电话交流下,周一去现场面,但是我周六没接到电话,所以我就在boss上交流,将周一的现场面试改成了电话面试。面试内容:介绍下自己介绍下项目项目中用了SpringCloud,介绍下然后问下一些其他的东西明显感觉到这个应该不是技术面,因为我在boss上看到面试的人是产品经理。只原创 2020-06-24 10:56:34 · 291 阅读 · 0 评论 -
SpringCloud-Eureka模块使用小记
SpringCloud-Eureka模块使用小计原创 2020-06-20 12:53:16 · 220 阅读 · 0 评论 -
Mybatis-plus 自动填充 不生效或自动填充数据为null 原因及解决方案
mybatis-plus自动填充不生效填充的数据为空使用乐观锁自动填充失效当字段从数据库查询出来时自动填充不生效问题原创 2020-06-09 09:08:43 · 25694 阅读 · 20 评论 -
Kafka基本介绍(kafka相关术语,基本概念,用途)
Kafka基本介绍(kafka相关术语,基本概念,用途)今天看了下 《kafka权威指南》 ,本来打算看完1,3,4,11章再来水文,结果看了国漫 疯味英雄,完全停不下来。就只看完了第一章加上之前看的很多博客,水一篇文章清华镜像下载链接:https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.5.0/1. Kafka是什么kafka是一款 外国人开发的,基于发布订阅模型的 消息中间件书上的定义是说:Kafka是一个流式处理平台。(但是我还没看原创 2020-05-24 23:52:14 · 298 阅读 · 0 评论 -
ZooKeeper是什么,以及能够做什么,怎么做到的
ZooKeeper原理ZooKeeper分布式锁,集群管理,统一配置服务,命名管理怎么实现的原创 2020-05-23 22:30:40 · 219 阅读 · 0 评论 -
Java面试题系列-(三)
80、事务的ACID是指什么?81、JDBC中如何进行事务处理?82、JDBC能否处理Blob和Clob?83、简述正则表达式及其用途。84、Java中是如何支持正则表达式操作的?85、获得一个类的类对象有哪些方式?86、如何通过反射创建对象?87、如何通过反射获取和设置对象私有字段的值?88、如何通过反射调用对象的方法?89、简述一下面向对象的"六原则一法则"。90、简述一下你了解的设计模式。91、用Java写一个单例类。92、什么是UML?93、UML中有哪些常用的图?94、原创 2020-05-21 16:27:38 · 188 阅读 · 0 评论 -
SSM整合-AOP介绍,以及登陆认证的使用
AOP概念介绍-不涉及动态代理,仅理解AOP不知道为什么好多把AOP讲的那么复杂我我认为不知道制冷原理也能用好电冰箱原创 2020-05-18 22:08:47 · 904 阅读 · 0 评论 -
SSM整合过程中的一些小知识点(一)
SSM整合过程中的一些小知识点(一)前言:这几天都没有写博客了,主要是进行整合的过程中有很多问题,解决问题过程中也能够得到提升1. IDEA调试小技巧鼠标选中行号,鼠标左键打断点F8 跳过这一行,一步一步的执行F9 往下执行,直到遇到下个断点(这个很好用,我之前都不知道这个,每次一步一步的走。特别是调web程序的时候,我想重新发起请求,想让上个请求结束)F7 跳进这个函数shift +F8跳出这个函数小结:F8,F9,F7是用的最多的2. IDEA版本控制鼠标右键-git-co原创 2020-05-17 13:02:08 · 484 阅读 · 0 评论 -
SSM整合问题清单(二)
黄标问题: “接口方法【】必须使用Javadoc注释”解决方案:添加Javadoc形式的注释就好了Java 支持三种注释方式。前两种分别是 // 和 /* /,第三种被称作说明注释,它以 /* 开始,以 */结束。Javadoc指的是第三种如何让SpringMVC框架返回String类型的字符串。问题详情:我想让其返回200,但是发现出现404,200.jsp找不到。解决方案:是因为springmvc会自动将view、modelandview、string解析成视图形式返回给前端。如果你要返回字符.原创 2020-05-13 22:58:11 · 195 阅读 · 0 评论 -
如何推送项目到码云
如何推送项目到码云因为github是在太慢了。我现在就改用码云了,和github一样的。而且更流畅新建本地项目,执行git init初始化git add .将本地项目添加到缓存git commit -m 'init'将本地项目提交到本地仓库码云上新建远程仓库(推送到以前的仓库也行)链接到远程仓库 git remote add origin https://gitee.com/dengtiantian/javaee_study.git6.新建本地仓库和远程仓库的关系 git branch --原创 2020-05-13 16:28:43 · 610 阅读 · 0 评论 -
Java面试题系列-(二) -待完成
40、怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串?41、日期和时间:42、打印昨天的当前时刻。43、比较一下Java和JavaSciprt。44、什么时候用断言(assert)?45、Error和Exception有什么区别?46、try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行,什么时候被执行,在return前还是后?47、Java语言如何进行异常处理,关键字:throws、throw、try、catch、final原创 2020-05-11 20:35:53 · 176 阅读 · 0 评论 -
2020-5-10 记录一次面试(二)
2020-5-10 记录一次面试(二)前言:这次面试是周日10点进行的。面试官有点辛苦。还得加班面试官其实挺好的。比较有礼貌面试体验说实话,不太好。尽打到知识盲区了,主要还是我不够扎实。当时我好尴尬,只想早点结束1. 面试题:SpringBoot用过没?他应该是想问相关的知识点的。但是我没说我先在用的是Spring SpringMVC 那一套。没细问。 这个问题其实影响不大Spring IOC说一下?Spring AOP讲一下? (这两个我本以为我知道。结果一开口,我感觉说的不太好。心态原创 2020-05-11 16:57:23 · 244 阅读 · 2 评论 -
git常用命令行操作
gitbash无法显示中文处理git常用命令行操作如何添加忽略文件如何推送项目到码云原创 2020-05-08 21:41:06 · 195 阅读 · 2 评论 -
锁,Synchronized,volatile
锁,Synchronized,volatile前言配合上篇Java内存模型(JMM)一起看效果更好。本来想写在一篇了。但是太长了。想想还是分开1. volatile还是这张图:volatile变量的写相当于立即把更改的数据更新到主内存,读相当于将本地内存总的地址置为无效,每次从主内存中读取内存语义的实现:屏蔽重排序(具体的做法咱也不记得了)volatile变量具有原子性(简单操作是原子性,复杂操作就不是原子性)happens-before的体现,前一个线程结果对后一个线程可见2. 锁原创 2020-05-08 21:23:27 · 172 阅读 · 0 评论 -
Java内存模型(JMM)
JMM内存模型重排序happens-before顺序一致性原创 2020-05-08 16:47:52 · 168 阅读 · 0 评论 -
SSM整合问题清单
SSM整合问题清单SSM其实使用很简单。但是初次整合其实还挺麻烦,因为平时也不做这个。然后就会有各种问题SSM框架——详细整合教程(Spring+SpringMVC+MyBatis) 这是人家写的一篇博客,我参照这个整合的。但是实际有些东西不一样地址 我这个还没结束。功能还没有。后续会持续更新git clone https://gitee.com/dengtiantian/javaee...原创 2020-05-07 13:26:46 · 228 阅读 · 1 评论 -
LeetCode572 另一颗树的子树
LeetCode572 另一颗树的子树给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/subtree-of-another-tree著作权归领扣网络所有。商业转...原创 2020-05-07 11:21:28 · 138 阅读 · 0 评论 -
LeetCode983 最低票价问题
LeetCode 983最低票价在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年里,你要旅行的日子将以一个名为 days 的数组给出。每一项是一个从 1 到 365 的整数。火车票有三种不同的销售方式:一张为期一天的通行证售价为 costs[0] 美元;一张为期七天的通行证售价为 costs[1] 美元;一张为期三十天的通行证售价为 costs[2] 美元。...原创 2020-05-06 17:29:31 · 178 阅读 · 0 评论 -
LeetCode5 最长回文串
LeetCode 5 最长回文串原题思路:回文串分为两种:奇数长度和偶数长度分别进行判断就好了。基准点左和右的字符相等package com.java.leetcode;/** * @author dengtiantian */public class Question5 { static class Solution { /** * ...原创 2020-05-02 10:19:17 · 111 阅读 · 0 评论 -
MySQL创建表-以及建表语句的一些坑
MySQL创建表-以及建表语句的一些坑建表语句其实比较简单,但是平时都习惯用Navicat建表,我以为我写脚本也没什么问题,但是真的写的时候发现了很多被忽略的细节。下面盘点下:先上正确示例(我这里没有外键,主键和自增):CREATE table assets_alibaba(`user_id` int UNSIGNED not null,yue DECIMAL(10,2) not nu...原创 2020-05-01 23:04:51 · 833 阅读 · 0 评论 -
MarkDown常用语法以及编辑器
Markdown常用语法以及编辑器为什么要用Markdown?因为语法简单,而且能达到比较好的效果。对于平时写博客。或者记笔记都是挺好的Markdown常用语法标题(在Typora里面的快捷键是 ctrl 1 ctrl 2 一直到ctrl 6)# 一级标题## 二级标题...### 六级标题_斜体_**粗体**~~~删除线~~~<u>下滑线</u>...原创 2020-05-01 08:38:34 · 200 阅读 · 0 评论 -
算法-快速排序
算法-快速排序快速排序的核心是:以第一个数为基准,比自己大的放到左边,比自己小的放在右边然后对剩下的两部分同样用快排一般这个很好理解,但是很多都没有解释放左边和右边需要如何怎么做:双指针方法,[从右往左找比自己小的 A,从左往右找比自己大的B]。AB交换位置,直到两个指针指向同一个数据为止实例:10,5,11,35,8,9,13你以为第一次交换后是 5,8,9,10,11,35,13实际...原创 2020-04-30 21:14:04 · 294 阅读 · 1 评论 -
MySQL服务器性能剖析+Schema和数据类型优化
MySQL服务器性能剖析+Schema和数据类型优化前言:之前一直执着于怎么写好,结果好久都没写了。后面想了想,文章写得太少了,想写好其实不怎么容易,而且压力山大,都不敢去写。现在干脆不要管花里胡哨的东西。主要写给自己看,想到什么写什么。算是复习这篇完整是看《高性能MySQL》这本的笔记。而且是上午看完后现在(2020年4月29日21:53:43)的复习,靠脑子回想看记得多少原笔记内...原创 2020-04-29 22:24:10 · 201 阅读 · 0 评论 -
华为OD机试-报文转换 只有20%通过率。但是没没找到未通过原因
机试题只有AC20%,但是目前没看到原因我看有人说是16进制的原因,但是输出也是16进制,是不用转换的吧。因为我全部都是用的String,不存在说数据被我转成了10进制报文转义功能报文中如果出现0x0A,转义成两个字节0x12 0x34,如果出现0x0B,转义成两个字节0xAB,0xCD,其他报文保持不变输出的第一个字节为报文长度(包含它自己)就是如果输入A就转义成12 34,如果输入B...原创 2020-04-28 09:04:28 · 10601 阅读 · 4 评论 -
2020-04-24记录一次面试
2020-04-24记录一次面试面试时间:2020-04-24 10:00面试地点:上海公司规模:0-20面试电话是昨天打的,接电话的时候都是懵的,因为投的简历太多,但是给的回复其实有点少。对方考虑到我居住的地方离面试地点比较远,安排的10点钟。然后让让她发邮件给我。仔细查了下公司,0-20人的公司,招聘简章。然后技术是SSH方向的。其实和我的SSM方向不是很符合。然后在去看准网查了下该...原创 2020-04-24 14:56:44 · 184 阅读 · 3 评论 -
牛客网-华为机试-字符串分隔
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。思路,去空格,然后末尾补0,再输出package com.java.huawei;import java.util.Scanner;/** * @author dengtiantian */public class Test3 { publ...原创 2020-04-22 17:36:47 · 252 阅读 · 0 评论 -
牛客网-华为机试-明明的随机数
牛客网-华为机试-明明的随机数题目描述明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作(同一个测试用例里可能会有多组数据,希望大家能...原创 2020-04-22 00:28:13 · 227 阅读 · 0 评论 -
牛客网_华为机试-计算字符个数
牛客网_华为机试-计算字符个数题目描述写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。输入描述:第一行输入一个有字母和数字以及空格组成的字符串,第二行输入一个字符。输出描述:输出输入字符串中含有该字符的个数。import java.util.Scanner;public class Main{ public...原创 2020-04-21 23:55:10 · 185 阅读 · 0 评论 -
LeetCode58. 最后一个单词的长度
LeetCode58. 最后一个单词的长度牛客网标记为华为笔试题其实比较简单稍微记录下就好package com.java.huawei;import java.util.Scanner;/** * @author dengtiantian */public class Solution58{ /** * @author dengtiantian ...原创 2020-04-21 23:30:50 · 110 阅读 · 0 评论 -
Java面试题系列(一)-面试题及解题思路
Java面试题系列(一)-面试题及解题思路前言:不管看了多少知识,最终还是要面试的。刷刷面试题也算是一个好的复习方法面试题不是我自己面试的,是我网上找的 原文链接解答思路是我自己想的,也不是标准答案,而且有可能会错。按我自己的理解给出涉及到的点只是给出我觉得回答中应该涉及到的点,而不是就这么说1、面向对象的特征有哪些方面?A:多态,继承,封装 (PS:我挺不喜欢被问这种问题,都不...原创 2020-04-18 18:23:31 · 373 阅读 · 0 评论 -
Java基础-多线程基础概念 (多线程的好处;创建线程的三种方式;多线程常用方法:sleep(long),wait(),notifyAll())
多线程的好处?创建线程的三种方式线程常用方法原创 2020-04-18 17:27:39 · 230 阅读 · 1 评论 -
Java基础 - 反射简介
简单介绍了下反射描述了反射是什么,可以用来做什么但是具体反射的应用得去看代码原创 2020-04-17 17:02:50 · 158 阅读 · 0 评论 -
Java基础-JDBC相关知识点
JDBC基础知识操作步骤,Connection对象,Statement对象,ResultSet对象数据库连接池操作,事务原创 2020-04-16 23:30:14 · 269 阅读 · 0 评论 -
Java学习遇到的问题清单
学习过程中遇到的各位问题清单1. 数据库时区问题原创 2020-04-16 15:13:11 · 149 阅读 · 0 评论 -
计算机网络-概要与网络层(IP)篇
OSI七层体系结构TCP/IP四层体系结构分层的思想协议网络层IP协议IP报文首部IP地址分类原创 2020-04-16 00:54:14 · 602 阅读 · 0 评论