程序员
文章平均质量分 73
普通网友
这个作者很懒,什么都没留下…
展开
-
SpringCloud快速入门(二,腾讯T3大牛总结
User queryById(@PathVariable("id") Long id);}* 首先这是一个接口,Feign会通过动态代理,帮我们生成实现类。这点跟mybatis的mapper很像* `@FeignClient`,声明这是一个Feign客户端,类似`@Mapper`注解。同时通过`value`属性指定服务名称* 接口中的定义方法,完全采用SpringMVC的注解,Feign会根据注解帮我们生成URL,并访问获取结果改造原来的调用逻辑,调用UserClie原创 2021-09-09 18:29:01 · 272 阅读 · 0 评论 -
SpringCloud-Stream实战入门(二,Java架构师百度网盘
spring.cloud.stream.bindings.input1.destination=test-topic1spring.cloud.stream.bindings.input1.group=test-group1自定义MessageConverterSpring Cloud Stream在进行对象和JSON转换时默认使用的是org.springframework.messaging.converter.MappingJackson2MessageConverter。有时候我们也可以实现自原创 2021-09-09 18:27:28 · 345 阅读 · 0 评论 -
SpringBoot集成Redis,springcloud原理面试题
首先,先查看Redis相关的配置类:shift+shift进行搜索,查看RedisAutoConfiguration类:在我们查看redis的配置类RedisAutoConfiguration时,可以看到RedisAutoConfiguation中封装了两个Bean:接下来查看redis所对应的自动配置类:RedisProperties,该类对应一个properties配置文件,当然我们也可以在application中进行配置:在SpringBoot操作数据是封装在Spring-data中原创 2021-09-09 18:25:58 · 193 阅读 · 0 评论 -
SpringBoot自动配置,mysql数据库优化面试
#### 数据库依赖引起的bug我们很多人在第一次使用SpringBoot的时候,往往对其原理认知不足,或者简单的了解以后就开始入门使用,往往最常见的就是使用SpringBoot添加一个持久化框架的依赖,用来尝试操作数据库,比如:```xml<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</ar.原创 2021-09-09 18:24:18 · 425 阅读 · 0 评论 -
springboot定时器 ,程序员必看
import com.zh.wit.sendMail.dto.MailDto;import com.zh.wit.sendMail.service.MailService;import lombok.RequiredArgsConstructor;import org.springframework.mail.MailSender;import org.springframework.mail.SimpleMailMessage;import org.springframework.s.原创 2021-09-09 18:22:28 · 331 阅读 · 0 评论 -
SpringBoot中好用的数据连接池,再见SpringMVC
然后配置HikariCP对应的配置文件,用来读取/加载连接池配置:```java/** * HikariCP连接池配置 */@Configurationpublic class DataSourceConfig { @Value("${spring.datasource.url}") private String dataSourceUrl; @Value("${spring.datasource.username}") private String us.原创 2021-09-09 18:20:52 · 238 阅读 · 0 评论 -
你说这是冷知识?Netty时间轮调度算法原理分析,蚂蚁金服面试Java后端经历
} // 创建工作线程 workerThread = threadFactory.newThread(worker); // 非守护线程且 leakDetection 为 true 时检测内存是否泄漏 leak = leakDetection || !workerThread.isDaemon() ? leakDetector.track(this) : null; // 初始化最大等待任务数 this.maxPendingTimeouts = ...原创 2021-09-08 21:07:20 · 209 阅读 · 0 评论 -
你要连MySQL事务实现的基本原理都不懂,那你的面试基本凉凉,分享一点面试小经验
当有多个请求来读取表中的数据时可以不采取任何操作,但是多个请求里有读请求,又有修改请求时必须有一种措施来进行并发控制。不然很有可能会造成不一致。读写锁=======解决上述问题很简单,只需用两种锁的组合来对读写请求进行控制即可,这两种锁被称为:共享锁(shared lock),又叫做"读锁"============================读锁是可以共享的,或者说多个读请求可以共享一把锁读数据,不会造成阻塞。排他锁(exclusive lock),又叫做"写锁"============原创 2021-09-08 21:05:33 · 76 阅读 · 0 评论 -
你知道面试必问的AOP吗,极客训练营架构师云盘
System.out.println("最终通知....");}/*** 声明异常通知 并将通知应用到切入点上* 目标类方法执行时发生异常 执行该通知*/@AfterThrowing(value="cut()",throwing="e")public void afterThrowing(Exception e){ System.out.println("异常通知....方法执行异常时执行:"+e);}/*** 声明环绕通知 并将通知应用到切入点上* 方法执.原创 2021-09-08 21:03:45 · 113 阅读 · 0 评论 -
你知道怎么在生产环境下部署tomcat吗?,Java架构面试题spring原理
我们先把tomcat应用放到/usr/local目录下# cd /usr/local# lldrwxr-xr-x. 9 root root 220 5月 8 19:23 apache-tomcat-8.5.40上面我们是应用了tomcat8.5版本,如果我们需要升级到9.x版本的话,如果我们需要升级到9.x版本的话,那关于tomcat目录的路径就需要重新修改,这就太不方便了,所以我们可以用软链接的方式解决这个问题# ln -s apache-tomcat-8.5.40 tomcat原创 2021-09-08 21:00:25 · 136 阅读 · 0 评论 -
【源码分析设计模式 10,2021年是意义非凡的一年
Adapter适配器模式,将一个类的接口转换成客户希望的另外一个接口。使原本由于接口不兼容而不能一起工作的那些类可以一起工作了。适配器模式有“类适配器”和“对象适配器”两种不同的形式。二、适配器模式的结构1、目标(Target)定义一个客户端使用的特定接口。2、客户端(Client)使用目标接口,与和目标接口一致的对象合作。3、被适配者(Adaptee)一个现存需要适配的接口。4、适配器(Adapter)负责将Adaptee的接口转换为Target的接口。适配器是一个具体的类,这是该模原创 2021-09-06 19:39:34 · 68 阅读 · 0 评论 -
【源码分析设计模式 10(1),springmvc面试问题
适配器这个词我们应该很熟悉,天天都在使用,手机充电时,电源线头头就叫电源适配器,干什么用的呢?把220V电压转换成手机充电时使用的电压,那么适配器是不是很好理解了,下面看一下定义。Adapter适配器模式,将一个类的接口转换成客户希望的另外一个接口。使原本由于接口不兼容而不能一起工作的那些类可以一起工作了。适配器模式有“类适配器”和“对象适配器”两种不同的形式。二、适配器模式的结构1、目标(Target)定义一个客户端使用的特定接口。2、客户端(Client)使用目标接口,与和目标接口一致的原创 2021-09-06 19:37:58 · 82 阅读 · 0 评论 -
【深度思考,2021年你与字节跳动只差这份笔记
输出结果:2020-06-10T08:22:13.759Z细心的你会发现,这个时间比北京时间少了8个小时,如果要输出北京时间,可以加上默认时区:System.out.println(instant.atZone(ZoneId.systemDefault()));输出结果:2020-06-10T16:22:13.759+08:00[Asia/Shanghai]1.2 获取时间戳Instant instant = Instant.now();// 当前时间戳:单位为秒System.原创 2021-09-06 19:36:21 · 83 阅读 · 0 评论 -
【数据结构与算法 8,今天带你详细了解各组件原理
打眼一看,很low,很简单,4,3,2无疑。为了验证我的聪明才智,输出一把吧![](https://img-blog.csdnimg.cn/20200520103324125.png)![](https://img-blog.csdnimg.cn/20200520103340869.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ub...原创 2021-09-06 19:34:52 · 53 阅读 · 0 评论 -
【数据结构与算法 8,2021最新Java面试笔试
}System.out.println("n="+n);}打眼一看,很low,很简单,4,3,2无疑。为了验证我的聪明才智,输出一把吧![](https://img-blog.csdnimg.cn/20200520103324125.png)![](https://img-blog.csdnimg.cn/20200520103340869.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow原创 2021-09-06 19:33:12 · 56 阅读 · 0 评论 -
【数据结构与算法 3】单链表,Java社招最全面试题
上图小结:1、链表是以节点的方式来存储,是链式存储2、每个节点包含data域,next域:指向下一个节点3、如图发现链表的各个节点不一定是连续存储单链表的逻辑结构示意图:三、关于头结点链表可以有头节点,也可以没有头节点。区别在于链表有头节点虽然浪费空间,但易理解,边界好处理,不易出错,代码简单;相反无头节点,省空间,难理解,边界不易处理,代码稍复杂。头节点是为了对链表建立、删除、逆向的时候操作更统一,不用专门对第一个元素或最后一个元素进行单独处理。四、为什么要使用链表呢?1、.原创 2021-09-06 19:31:32 · 68 阅读 · 0 评论 -
【数据结构与算法 11,互联网大厂面试必问的JVM底层原理
int min = arr[minIndex]; for(int j = 1 + i;j<arr.length;j++){ if(min > arr[j]){ min = arr[j]; minIndex = j; } } arr[minIndex] = arr[i]; arr[i] = min;}}4、速度测试选择排序:120000数...原创 2021-09-06 19:29:49 · 746 阅读 · 0 评论 -
①、jQuery,互联网寒冬公司倒闭后
打开官网,选择压缩的版本使用即可点击压缩版本进入:ctrl+A 全选, ctrl+c 复制在vs中新建jquery.min.js 文件(此处任何名称均可,只要是js文件即可)在html 文件进行引入即可<script src = "jquery.min.js"></script>1.2、jQuery的入口函数????// 第一种方法 推荐$(function(){ ... // 此处是页面DOM加载完成的入口原创 2021-09-05 21:08:15 · 300 阅读 · 0 评论 -
①、jQuery(1),海量算法高频面试题精编解析
在vs中新建jquery.min.js 文件(此处任何名称均可,只要是js文件即可)在html 文件进行引入即可<script src = "jquery.min.js"></script>1.2、jQuery的入口函数????// 第一种方法 推荐$(function(){ ... // 此处是页面DOM加载完成的入口 })// 第二种方法$(document).ready(function(){ ...原创 2021-09-05 21:06:37 · 114 阅读 · 0 评论 -
“百思不得姐,Javaweb知识点总结
应用首先会判断缓存是否有该数据,缓存命中直接返回数据,缓存未命中即缓存穿透到数据库,从数据库查询数据然后回写到缓存中,最后返回数据给客户端。(2)写请求常见流程首先更新数据库,然后从缓存中删除该数据。看了写请求的图之后,有些同学可能要问了:为什么要删除缓存,直接更新不就行了?这里涉及到几个坑,我们一步一步踩下去。Cache aside踩坑Cache aside策略如果用错就会遇到深坑,下面我们来逐个踩。踩坑一:先更新数据库,再更新缓存如果同时有两个写请求需要更新数据,每个写请求都先更新数据库原创 2021-09-05 21:01:39 · 53 阅读 · 0 评论 -
一篇文带你入门SSM框架Spring开发,4面字节跳动拿到Offer
二、SpringIOC容器详解1、什么是SpringIOC?(1)、IOC(Inversion of Control):反转控制。(2)、DI(Dependency Injection):依赖注入。2、SpringIOC容器的实例化3、IOC容器中添加bean三、通过IOC容器获取Bean属性1、通过bean属性的id进行获取2、通过bean的类型来进行获取3、通过类和属性名获取参数四、在IOC中给bean的属性赋值的多种方法1、通过无参构造并指定属性赋值2、通过有参构造并指定属性进原创 2021-09-03 20:14:29 · 424 阅读 · 0 评论 -
一双拖鞋引发的血案——我与,Java知识体系图
《程序员》已经创刊20多年了,正好借着这次CSDN的活动来和大家聊聊我当年入坑《程序员》的那些事。还记得那是在2005年的时候,我跟着我的父亲去拜访一位他的挚友。那时征途还没出,我不过是一个成天想着偷偷去黑网吧和小伙伴搞两把CS的毛头小伙子,一直想找机会开溜。纵使我自诩人中之龙,但迫于家父那堪比萧帮主的降龙十巴掌,我没怂,我只是识时务者为俊杰。主要是我把我的会员和密码告诉了王二狗,我怕他偷偷去给我把会员的钱给上完了,不过那时候人与人之间的基本信任还是有的,至少我会员里的钱没有平白无故少过——也不原创 2021-09-03 20:07:33 · 88 阅读 · 0 评论 -
JAVA学习(3,2021最新阿里Java面经
import java.io.IOException;import java.io.OutputStream;import java.net.InetAddress;import java.net.Socket;import java.net.UnknownHostException;import java.nio.charset.StandardCharsets;public class TcpClient {public static void main(String[] args) {原创 2021-09-02 21:51:20 · 116 阅读 · 0 评论 -
java多线程并发之原子操作-CAS以及原子类atomic,Java开发者跳槽指
volatile变量的访问控制符会加个ACC _VOLATILEdocs.oracle.com/javase/spec…对volatile变 量相关的指令不做重排序;线程安全临界区和竞态条件竞态条件:临界区内,引发线程安全问题的代码。临界区:多线程情况下,会发生线程安全问题的区域。共享资源如果一段代码是线程安全的,则它不包含竞态条件。只有当多个线程更新共享资源时,才会发生竞态条件。 栈封闭时,不会在线程之间共享的变量,都是线程安全的。 局部对象引用本身不共享,但是引用的对象存储在.原创 2021-09-02 21:49:42 · 78 阅读 · 0 评论