Java
文章平均质量分 70
hofe
这个作者很懒,什么都没留下…
展开
-
使用ConstraintLayout实现自定义缩放布局(百分比布局)
一个复杂的布局或自定义View如何在添加到其他不同大小的ViewGroup中按比例去缩放自己的布局内容呢?我尝试使用ConstraintLayout解决了这个问题。1. 简单的布局大家先看一个简单的布局,由上下两个view组成,都是16:9的比例。左边是设置android:layout_width="match_parent"的情况,右边是将layout_width设为了200dp,模拟缩小到宽为200dp的View。大家可以发现的是他们实现等比缩小了。实现原理也很简单,就是通过ConstraintL原创 2021-10-15 22:21:12 · 3749 阅读 · 1 评论 -
盘点Java中List、Set、Map实现类以及他们之间的区别
没有进行扩展,方便复习。需要更详细的,可以访问我的博客查看其它文章一、List存放是有序的,允许存放重复元素1.1 ArrayListArrayList 是常用的 List 实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数 组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要将已经有数 组的数据复制到新的存储空间中。当从 ArrayList 的中间位置插入或者删除元素时,需要对数组进 行复制、移动、代价比较高。因此,它适合随机查找和遍历,不适合插入和删除。.原创 2020-05-25 16:51:06 · 593 阅读 · 0 评论 -
进程与线程区别、状态转换、通信方式
1.进程与线程概念进程进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程线程线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。与进程不同的是同类的多个线程共享进程的堆和方法区资源,但每个线程有自己的程序计数器、虚拟机栈和本地方法栈,所以系统在产生一个线程,或是在各个线程之间作切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程。2.进程和线程的区别进程是资源分配的最原创 2020-05-23 16:28:12 · 543 阅读 · 0 评论 -
Java中的浅拷贝与深拷贝
Java 中的数据类型分为基本数据类型和引用数据类型。对于这两种数据类型,在进行赋值操作、用作方法参数或返回值时,会有值传递和引用(地址)传递的差别。一、拷贝分类引用拷贝 (==)对象拷贝 (.clone())浅拷贝(.clone())深拷贝(.clone().clone())注意:浅拷贝与深拷贝都属于对象拷贝浅拷贝:基本数据类型拷贝值,引用类型拷贝内存地址,修改基本数据类型不会对原对象产生影响,修改引用类型会对原对象产生影响。被拷贝对象通过实现 Cloneable 并重写 cl.原创 2020-05-21 12:17:48 · 351 阅读 · 0 评论 -
秒杀架构的设计及超卖问题的解决
可访问个人网站进行阅读最新版本转载:https://mp.weixin.qq.com/s?__biz=MzA3ODQ0Mzg2OA==&mid=2649051049&idx=2&sn=ac38a47f2e5f6f6700a82c4dfda5961b&chksm=87534b9ab024c28c8cdaebdf4800ab741c8780d6a185850043b7ac573f58f0cf24c5e51ddea1&mpshare=1&scene=23&.转载 2020-05-09 21:33:21 · 953 阅读 · 0 评论 -
JVM内存模型与GC机制
可访问个人网站进行阅读最新版本,精力有限无法多网站同步更新,更新只会在个人网站进行介绍了下Java运行时内存划分以及GC算法、垃圾回收器。一、Java内存区域1.程序计数器:程序计数器(Program Counter Register)是一块较小的内存空间,可以看作是当前线程所执行字节码的行号指示器,指向下一个将要执行的指令代码,由执行引擎来读取下一条指令。更确切的说,一个线程的执行,是通过字节码解释器改变当前线程的计数器的值,来获取下一条需要执行的字节码指令,从而确保线程的正确执行。每个线程.原创 2020-05-09 13:11:17 · 422 阅读 · 0 评论 -
ConcurrentHashMap实现原理及源码阅读
可访问个人网站进行阅读最新版本,精力有限无法多网站同步更新,更新只会在个人网站进行参考自https://ddnd.cn/2019/03/10/jdk1-8-concurrenthashmap/https://juejin.im/post/5c8276216fb9a049d51a4cd6面试题并发安全机制分段锁机制synchronized + CAS内部数据结构一、了解Ha...原创 2020-05-03 16:08:55 · 254 阅读 · 0 评论 -
HashMap实现原理及源码阅读
点击进入个人网站,阅读体验更佳面试题先来看看常问的面试题有哪些底层数据结构hash冲突解决1.7和1.8区别扩容机制(为什么是2倍)rehash过程红黑树的左右旋一、底层数据结构// 1.位桶数组transient Node<k,v>[] table;//存储(位桶)的数组</k,v>// 2.数组元素Node<K,V>实现了E...原创 2020-05-02 16:05:01 · 1440 阅读 · 1 评论 -
通过面试题学Java多线程
多线程实现的三种方式继承Thread,重写run方法实现Runnable接口,重写run方法实现Callable接口,重写run方法有返回值的任务必须实现Callable接口,类似的,无返回值的任务必须Runnable接口。执行 Callable任务后,可以获取一个Future的对象,在该对象上调用get就可以获取到Callable任务 返回的Object了,再结合线程池接口Executo...原创 2020-04-27 14:38:29 · 261 阅读 · 0 评论 -
Spring Cloud入门项目实战(三)--Ribbon
前言我自己建了个博客网站,欢迎大家来访问,阅读体验更佳点击进入正在入门SpringCloud中,在学习的过程中也正好做个项目练手。这个项目是想做成一个模板,这样之后遇到同规模项目的时候可以拿来就用,版本也好控制。涉及到的中间件会有Eureka、Ribbon、Feign、HyStrix、Zuul、ConfigServer。这一节项目将改写Ribbon。版本SpringBoot:2.2.1....原创 2020-04-09 18:20:56 · 209 阅读 · 0 评论 -
Spring Cloud入门实战(二)--集成Eureka
前言我自己建了个博客网站,欢迎大家来访问,阅读体验更佳点击进入正在入门SpringCloud中,在学习的过程中也正好做个项目练手。这个项目是想做成一个模板,这样之后遇到同规模项目的时候可以拿来就用,版本也好控制。涉及到的中间件会有Eureka、Ribbon、Feign、HyStrix、Zuul、ConfigServer。这一节将项目改装成Spring Cloud并集成Eureka。版本S...原创 2020-04-09 14:39:19 · 242 阅读 · 0 评论 -
Spring Cloud入门项目实战(一)
前言正在入门SpringCloud中,在学习的过程中也正好做个项目练手。这个项目是想做成一个模板,这样之后遇到同规模项目的时候可以拿来就用,版本也好控制。涉及到的中间件会有Eureka、Ribbon、Feign、HyStrix、Zuul、ConfigServer。这一节使用生产者消费者模型体现微服务思想。版本SpringBoot:2.2.1.RELEASE目录结构如下一、创建项目...原创 2020-04-08 18:18:58 · 1064 阅读 · 1 评论 -
一文读懂kmp算法
自己创建了个博客网站,hofe’s blog ,欢迎大家收藏_博客将会两边同步更新,体验会更佳。一、KMP算法是什么?kmp算法是用于解决字符串匹配的算法本文用约定用 pat 表示模式串,长度为 M,txt 表示文本串,长度为 N。KMP 算法是在 txt 中查找子串 pat,如果存在,返回这个子串的起始索引,否则返回 -1首先来看一道例题:link题目描述字符串旋转:给定两...原创 2020-04-05 16:37:40 · 175 阅读 · 0 评论 -
Java面试考题集锦之Java基础
这篇文章记录在准备Java后端面试复习过程中网上常见的考题,同时也会标明题目出现频率,方便大家参考。有缺少、错误的部分欢迎大家补充纠正。–持续更新图片来源:牛客网面经数据类型Java中的八大类型及其包装类型(占用字节数)Java面向对象常见Java 接口\抽象类?重载和重写?Java List高频ArrayList和LinkedList的区别?分别用在什么场景?①Array...原创 2020-03-18 20:07:04 · 2164 阅读 · 1 评论 -
通过面试题学SpringBoot
转载至https://www.jianshu.com/p/63ad69c480fe/(原创)下面的也是转载,但阅读起来比较舒适。也可查看https://blog.csdn.net/Kevin_Gu6/article/details/88547424转载 2020-03-16 13:44:57 · 123 阅读 · 0 评论 -
SpringBoot无法热部署
问题:在maven中加入依赖后发现热启动还是没办法<!--热部署--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true...原创 2020-03-16 13:33:04 · 320 阅读 · 0 评论 -
通过面试题学Spring
准备面试复习Spring的时候详细的看了一下Spring理论知识,结合网上的面试题,写了这篇博客。如果需要更详细的内容,推荐我的另一篇文章详解Spring。文章目录为什么使用Spring(优缺点)?Spring的IoC理解:什么是控制反转(Inversion of Control)与依赖注入(Dependency Injection)?BeanFactory和ApplicationContex...原创 2020-03-15 22:44:43 · 234 阅读 · 0 评论 -
一文入门Spring
此文将系统介绍Spring技术,参考文章https://www.w3cschool.cn/wkspring/pesy1icl.html。写作经验不多,不知道原来篇幅会到这么长,将会出一篇《快速搞懂Spring》高度概括。原创 2020-03-15 20:30:36 · 914 阅读 · 0 评论 -
SpringBoot经典学习笔记
本文非原创,仅为自己方便查看转载,作者信息在下方,侵权删,感谢!作者信息本课程首发于 CSDN GitChat 达人课《跟武哥一起学Spring Boot》,该文档为课程详细笔记。作者:倪升武(武哥)微信公众号:武哥聊编程版权申明:本课程已经免费,但版权属于 CSDN 和作者,未经允许,不得将该笔记用于商业用途和其他不正当用途,否则追究法律责任。导读:课程概览1. Spring...原创 2020-02-17 20:17:12 · 1923 阅读 · 0 评论