- 博客(1600)
- 收藏
- 关注
原创 android路由表,Android之内存泄漏调试学习与总结
中高级Android需要的知识技能技能:1.了解android的签名机制(实现原理,具体操作等等),打包机制(多渠道打包,打包流程等等)2.了解apk安装文件压缩(压缩图片,代码压缩,.so文件压缩等等)3.事件分发,View绘制流程,webview相关知识点(与Native的交互,性能优化等)4.熟悉数据库的使用(基本API,第三方ORM框架,ORM框架的实现原理等等)5.java反射原理与简单实践等,activity的启动模式6.activity,service,fragment,broa
2021-09-29 16:29:43
759
原创 android适配器模式,作为程序员一定不要仅仅追求物质
科学家曾经做过一个研究,他们对比了爱迪生和普通人的大脑,结果发现并没有太大的差别。从生理构造上,人与人的差别并不大,区别只是在于后天努力的程度,有的人在拼尽全力奔跑,有的人停在原地休息,时间一久,那么他们的发展就注定不同了,无论是知识积累的量还是眼光都有了很大的差别。现在我将这份学习资料分享给大家,希望大家也能够在Android这个领域里越走越远,最终能够成就自己的一番事业。资料目录架构师必备Java基础设计思想解读开源框架360°全方位性能优化Android框架体系架构NDK模块开发Fl
2021-09-29 16:27:04
651
原创 【Java8 新特性 3,linux基础视频
1、Supplier简介supplier接口是JAVA8以后配合lambda表达式和函数式接口编程(FunctionInterface,以下简称FI)组合使用的一个接口,对外表现为双冒号"::",顺便说下"->"符号对应的是Function接口中的Reply方法例如:Supplier<Person> persionSupplier = Person::new;Arrays.asList("a","b","c").forEach(e->System.out.println(.
2021-08-10 19:59:00
633
原创 【Java8 新特性 2,mybatis面试题2019
我是这么理解的,java是面向对象的,但是为了写起来方便,需要向一个方法传递一个方法,但是实际上并不能传递方法,而是传递了只有一个抽象方法的接口的实现类的对象,这样就做到类似传递方法了,其实lanmada就是一个对象四、四种核心的函数式接口1、功能性接口Function接收一个功能参数t,并返回一个功能结果R。package java.util.function;import java.util.Objects; @FunctionalInterfacepublic int
2021-08-10 19:57:51
456
原创 【Java 面向对象,2021最后一次Java面试
使用了静态导入后,就可以省略类名来访问静态成员(成员变量、方法、嵌套类)静态导入的经典使用场景:import static java.lang.Math.PI;public class Main { public static void main(String[] args) { System.out.println(2 * PI * 10); System.out.println(2 * PI * 20); }} 正确使用静态导入,可以消除一些重复的类名,提.
2021-08-10 19:56:46
354
原创 【Java 强化,最全面试考点与面试技巧
sayHellosaveEmployee变量名:名词,首字母小写,驼峰表示法。usernamepasswordbornDate常量名:全大写字母,单词之间使用下划线隔开。MAX_VALUENOT_FOUND主板加载通信组件案例(知识点回顾)====================================================================================面向接口编程 + 集合 + 匿名内部类..
2021-08-10 19:55:41
338
原创 【Java 强化(2),GitHub标星1w的Java架构师必备技能
// 调用主板的通信 board.doWork(); System.out.println("-----------------------");}}键盘在跳舞鼠标在移动----------------------- ```[](https://gitee.com/vip204888/java-p7)JavaBean 规范=======================================================================.
2021-08-10 19:54:31
354
原创 【Java 强化(1),4000多页合集的计算机、网络、算法知识总结
白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。 这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面
2021-08-10 19:53:22
408
1
原创 【Java 异常,15套Java架构师百度云
* [异常对象的常用方法(getMessage、printStackTrace)](about:blank#getMessageprintStackTrace_161)* [finally](about:blank#finally_175)* [异常的种类(检查型异常、非检查型异常)](about:blank#_253)* [throws(作用、流程、细节)](about:blank#throws_273)* [throw](about:blank#throw_358)
2021-08-10 19:52:08
359
原创 【Docker 1,Java岗面试12家大厂成功跳槽
6、使用docker version查看版本7、启动hello world镜像docker run hello-world8、卸载yum remove docker-ce docker-ce-cli containerd.iorm -rf /var/lib/dockerrm -rf /var/lib/containerd三、run的流程和docker原理1、run的流程2、docker原理3、docker为何比VM快?Docker有着比虚拟机更少的抽象层
2021-08-10 19:51:01
292
原创 如何高效的在后台运行 Linux 命令?,美团Java开发面试
输入fg + 序号命令即可让进程返回到前台执行。执行过程中,可以输入jobs命令来查看所有的后台任务了。# tar -zxf httpd-2.2.17.tar.gz
2021-08-09 00:30:24
362
原创 如何避免自己写的代码成为别人眼中的一坨屎!,Java面试大全pdf
函数不应该有100行那么长,20行封顶最好:if else while等控制语句其中代码块应该只有一行,也就是一个函数调用语句;函数的锁进层次不应该多于两层;一个函数只做一件事,一个函数不应该能抽象出另外一个函数;某个公共函数调用的私有函数紧随其后;最理想的参数是零参数,最长不要超过三个入参,尽量不要输出参数:如果函数传入三个及以上参数最好将其抽象为类;标识参数十分丑陋,向函数传入布尔值用于区分不同业务的做法很丑陋,应该拆分为多个函数;别返回nu...
2021-08-09 00:29:17
364
原创 如何设计一个百万级用户的抽奖系统?,Javaweb面试总结
比如抽奖,有一种场景:某个网站或者APP规定好了在某个时间点,所有人都可以参与抽奖,那么可能百万级的用户会蹲守在那个时间点,到时间大家一起参与这个抽奖。抢红包,可能是某个电视节目上,突然说扫码可以抢红包,那么电视机前可能千万级的用户会瞬间一起打开手机扫码抢红包。秒杀更是如此,所谓秒杀,意思是让大家都在电脑前等着,在某个时间突然就可以抢购某个限量的商品比如某个手机平时卖5999,现在限量100台价格才2999,50%的折扣,可能百万级的用户就会蹲守在电脑前在比如凌晨12点一起点击按钮抢购这款手机。类似
2021-08-09 00:28:13
467
原创 如何系统全面性学习Java语言,成为技术大牛,直面秋招
Spring学习笔记:Spring源码解析Spring Cloud AlibabaSpring Boot核心笔记3.其他知识Spring是Java编程的基础设施,但真要进入到实际项目的开发,还有些东西绕不过,包括 MySql,Mybatis,Redis等,但如果你经过Spring的洗礼,这些东西相对就简单多了,以我的经验,1-2个月的时间足够了。同样的,大家可以按照这上面的内容来梳理,结合这些笔记来学习!4、实践学习Java,光学不练肯定是不行的。下面这些都是值得推荐的 Ja...
2021-08-09 00:27:07
353
原创 如何系统全面性学习Java语言,成为技术大牛,Java开发面试基础
Spring学习笔记:Spring源码解析Spring Cloud AlibabaSpring Boot核心笔记3.其他知识Spring是Java编程的基础设施,但真要进入到实际项目的开发,还有些东西绕不过,包括 MySql,Mybatis,Redis等,但如果你经过Spring的洗礼,这些东西相对就简单多了,以我的经验,1-2个月的时间足够了。同样的,大家可以按照这上面的内容来梳理,结合这些笔记来学习!4、实践学习Java,光学不练肯定是不行的。下面这些都是值得推荐的 Jav..
2021-08-09 00:25:57
322
原创 太爽了!花了6个月18天,达内Java培优百度网盘
如果你想进大厂,一定是要求自身技术栈能达到企业的需求甚至超过企业的需求,关于技术如何提升的问题,一直以来都备受关注,IT行业发展的很快,程序员要保持不断学习,因此,就算是相同起点的人,经过几年的工作或学习,会迅速拉开极大的差距。我一朋友之前在快手做Java开发,他自己认识的一朋友在阿里工作,现在已经是P8级别了,所以他也管这位P8大佬要来了他之前的一些学习笔记,在这里分享给大家,看看自己还缺乏哪些技术栈吧。下面会介绍到P8大佬用的一些笔记资料,由于文章篇幅限制,不能把每个章节详细展示,在这里就以截图展
2021-08-09 00:24:48
1767
原创 大数据学习 or 复习计划:根据,全靠这套面试题
云和第一阶段:大数据开发语言基础| 主要内容 | 核心能力培养 || — | — || 基本程序逻辑、面向对象深入、异常处理机制、常用类、集合&泛型、多线程、MySQL基础、远程仓库、DDL/DCL/DML/DQL、SQL优化、批量处理事务DBUtil、Git管理文件版本、pom.xml详解 | 掌握Java核心技术、掌握MySQL数据库、掌握利用JDBC操作数据库 |第二阶段:离线场景下的数据存储和计算| 主要内容 | 核心能力培养 || — | — || 企业常用Linux命令
2021-08-09 00:23:44
460
原创 尚学堂Java全套资料百度云,Java注解和反射
1.1 内置注解@override: 定义在java.lang.Override中,只适用修辞方法,表示该方法重写超类中的一个方法@Deprecated:java.lang.Deprecated,表示修饰的方法,属性,类已过时,推荐适用另外的@SuppressWarnings:抑制编译时的警告信息,需要添加参数。如@SSuppressWarnings(“all”),SuppressWarnings(“unchecked”)等。1.2 元注解元注解的作用就是负责注解其他注解,java
2021-08-06 14:15:11
1642
原创 实现原理讲解,我强烈推荐你看看这-22-款超好用的命令行工具
我通过 fish fzf 插件插件使用它,因此我可以搜索命令历史记录或快速打开文件。这是可以每天为我节省不少时间的一个非常棒的工具。https://github.com/jethrokuan/fzf下载地址:https://github.com/junegunn/fzf5、fd上面动图是 find 命令(左)和 fd 命令(右)的使用对比。类似于系统自带的 find 命令,但使用起来更简单,查找速度更快,并且具有良好的默认设置。不管你想找到一个名为“invoice”的文件,但是不确定文件的扩展
2021-08-06 14:14:06
582
原创 宅家36天咸鱼翻身入职腾讯,创业神器-JAVA开源网盘系统推荐
时不时传来的网盘关停热潮令人担忧,而其由外人管理的特性则让您不敢轻易把隐私文件存放在上面。您需要利用自己的资源搭建起一个网盘系统而苦于没有好的选择?使用破解软件同样无法确保安全性,闭源的特性令人担忧。同时,很多已有的网盘服务器软件性能笨重、功能简单、语言的障碍更是使用中不可忽视的问题。现在,您可以选择kiftd了。本软件的作者 kohgylw 相信:除了他本人之外,一定还有其他人也面临着同样的问题。毕竟,作为教师的他需要时常分发资料给学生——在他成功弄丢了几次U盘后,便萌生.
2021-08-06 14:12:52
371
原创 字节跳动算法工程师面试总结,头条抖音后端技术3面题:Linux
同步IO和异步IO的区别?Java GC机制?GC Roots有哪些?如和判断一个对象是否存活?(或者 GC 对象的判定方法)红黑树讲一下,五个特性,插入删除操作,时间复杂度?快排的时间复杂度,最坏情况呢,最好情况呢,堆排序的时间复杂度呢,建堆的复杂度是多少第一轮非常重要,第一面能通过,后续被录用的可能性就比较高二面自我介绍,主要讲讲做了什么和擅长什么设计模式了解哪些?Java 中什么叫单例设计模式?请用 Java 写出线程安全的单例模式什么是元数据?元数据分为哪些类型?包括哪.
2021-08-06 14:11:44
422
原创 字节跳动历年Java中高级面试题全收录,Spring框架入门基础
假设我需要做一个功能,在这个功能当中我需要调用servic层,然后再调用dao层,去取数据。在传统的javaEE开发中我就直接去new一个service 然后再new一个dao。但是在spring框架中,我们吧new service和new dao的权利交个spring框架,假设我需要使用我就直接去spring框架中寻找。等于说我的资源创建的权利交给了spring框架,这就叫做控制反转。解耦刚刚我们说资源创建交给了sring,我们需要什么就找spring。这过程就像是工厂模式。但是在spring框.
2021-08-06 14:10:33
375
原创 字节跳动Java面试经验,数据库“三大范式
BC范式(BCNF)数据库的事务性事务处理事务ACID属性Hello,小伙伴们大家好!我是灰小猿,一个超会写bug的程序猿!在进行比较正规的项目开发的时候,通常会根据需求设计相应的数据库,而这些数据库则通常需要考虑数据库的冗余性和简洁性,数据库三大范式就是对关系数据库设计结构的一个规定。什么是范式?==========当一个关系中的所有分类都是不可再分的数据项时,该关系是规范化的。不可再分的数据项,即不存在组合数据项和多项数据项。一个低一级的关系模式,通过模式分解可以转换为若干高一级范式的
2021-08-06 14:09:21
259
原创 字节跳动Java研发岗这些知识点内部泄露出来了,消息队列面试题及答案
RabbitMQ有三种模式:单机模式,普通集群模式,镜像集群模式(1)单机模式单机模式平常使用在开发或者本地测试场景,一般就是测试是不是能够正确的处理消息,生产上基本没人去用单机模式,风险很大。(2)普通集群模式普通集群模式就是启动多个RabbitMQ实例。在你创建的queue,只会放在一个rabbtimq实例上,但是每个实例都同步queue的元数据。在消费的时候完了,上如果连接到了另外一个实例,那么那个实例会从queue所在实例上拉取数据过来。这种方式确实很麻烦,也不怎么好,没做到所谓的分布式,
2021-08-06 14:08:15
181
原创 字节Java高级岗,Java中级面试题及答案整理
11、HashSet与HashMap的区别:12、HashMap和Hashtable的区别:HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的分别。主要的区别有:线程安全性,同步(synchronization),以及速度。HashMap几乎可以等价于Hashtable,除了HashMap是非synchronized的,并可以接受null(HashMap可以接受为null的键值(key)和值(value),而Hashtable则不行)。Hash
2021-08-06 14:07:08
263
原创 Spring事务扩展机制,Alibaba后台4年
自己在阿里呆了四年目前是P6,感觉遇到了瓶颈P7一直上不去,这才我绝对跳槽到字节试试面试准备不论是校招还是社招都避免不了各种面试、笔试,如何去准备这些东西就显得格外重要。 运筹帷幄之后,决胜千里之外!不打毫无准备的仗,我觉得大家可以先从下面几个方面来准备面试:1. 自我介绍。(介绍自己的项目经历以及一些特长而不是简单自我介绍喜好等)2. 自己面试中可能涉及哪些知识点、那些知识点是重点。3. 面试中哪些问题会被经常问到、面试中自己该如何回答。4. 自己的简历该如何写。“80%的offer掌握在2
2021-08-05 13:05:00
208
1
原创 SpringCloud微服务详解:“项目经理
Hello,你好呀!我是灰小猿,一个超会写bug的程序猿!今天来和大家分享一下在进行系统的软件开发的过程中常用的七大软件过程模型,熟悉软件开发常用的几种模型方法。助力每一个程序员小伙伴都可以尽早成为项目经理哟!一.瀑布模型==========瀑布模型严格遵循软件生命周期各阶段的固定顺序:计划、分析、设计、编程、训试和维护,上一阶段完成后才能进入到下一阶段, 整个模型就像一个飞流直下的瀑布。瀑布模型的过程如下图:瀑布模型有许多优点:可强迫开发人员采用规范的方法:严格规定了各阶段必
2021-08-05 13:03:53
201
原创 SpringBoot:分布式架构的演进过程
2.大型主机比较复杂,培养人才的成本比较高。3.单点问题,如过大型机出现故障,整个系统都挂了运行不了,使企业的损失非常大。4.随着技术的进步,个人PC电脑的性能越来越高,成本也越来越低。阿里巴巴在2009年发起了一项去“IOE”的驱动IOE指的是IBM的小型机,Oracle的数据库和EMC的高端存储设备,2009年的去IOE的运动,一直到2003的支付宝的最后一台IBM的小型机的下线。为什么要去IOE阿里巴巴过去数据库使用的是Oracle,并使用小型机和高端存储设备提供高性能的数据处理和存储服务
2021-08-05 13:02:44
536
原创 SpringBoot整合!关于分布式锁原理的一些学习与思考
第二个请求到来后,被服务器2获取,继续去询问,管理红包的妹子,我这边要分10块,管理红包的妹子先查了下还有99999900,那就说:好,给你10块。那就剩下99999890块等到第1000w个请求到来后,服务器100拿到请求,继续去询问,管理红包的妹子,你要100,妹子翻了翻白眼,对你说,就剩1块了,爱要不要,那这个时候就只能给你1块了(1块也是钱啊,买根辣条还是可以的)。这些请求编号1,2不代表执行的先后顺序,正式的场景下,应该是 100台服务器每个服务器持有一个请求去访问负责管理红包的妹子(服务),
2021-08-05 13:01:46
443
原创 Redis缓存:万字长文!从底层开始带你了解并发编程
![](https://upload-images.jianshu.io/upload_images/24195226-95f672f1095c9a4c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)我们都知道`StringBuffer`是线程安全的,因为他的关键方法都加了`synchronized`,但是,从打印结果可以看出,锁被消除了。因为`buffer`这个引用只会在`main`方法中使用,不可能被其他线程引用(因为是局部变量,栈.
2021-08-05 13:00:41
258
原创 oppoJava面试!别看是Java基础,很多人已入坑
接下来,我们将扩展此程序以通过键盘从用户请求数据。要从键盘读取输入,我们将使用标准java类。我们需要使用包中的IOException类java.io。要使用此类,我们必须将java.io包导入此类。这可以通过以下方式完成:import java.io.* ;您可以以类似的方式导入许多其他包。第一步是创建InputStreamReader。格式如下:InputStreamReader varName = new InputStreamReader(System.in) ;这将创建阅读器并将
2021-08-05 12:59:42
499
原创 OMG!日常Java练习题(每天进步一点点系列
true、truetrue、falsefalse、truefalse、false****题解:Interger的范围时[-128,127],在这个范围内比较大小,相等为true,这个范围是被缓存了的,也就是每个对象的内存地址是相同的,赋值就直接从缓存中取,不会有新的对象产生,而大于这个范围,将会重新创建一个Integer对象,也就是new一个对象出来,超过范围为false****2、对于同一类中的两个方法 , 在判断它们是不是重载方法时 , 肯定不考虑( )正确答案: C 你的答案:
2021-08-05 12:58:43
192
原创 【Spring注解驱动开发】JSP“三大请求传参方式
使用JSP的forward或include动作,利用传参数子动作实现参数的传递,‘在JSP或HTML页面中,利用表单传递参数,利用追加在网址后的参数传递或追加在超链接后的参数传递**需注意的是:**在上述的三种传参方式中,方式1和方式3属于get类型的参数提交方式,而方式2属于get或post方式的参数提交方式,它可以通过form的method属性进行参数的选择,get请求与post请求的不同之处是前者参数会显示在地址栏。get请求:post请求:一、访问请求参数的方法=..
2021-08-04 20:45:40
576
原创 【Spring注解驱动开发】Java中高级核心知识全面解析(11)
1.简介Executor 框架是 Java5 之后引进的,在 Java 5 之后,通过 Executor来启动线程比使用 Thread的start方法更好,除了更易管理,效率更好(用线程池实现,节约开销)外,还有关键的一点:有助于避免 this 逃逸问题。补充:this 逃逸是指在构造函数返回之前其他线程就持有该对象的引用. 调用尚未构造完全的对象的方法可能引发令人疑惑的错误。Executor 框架不仅包括了线程池的管理,还提供了线程工厂、队列以及拒绝策略等,Executor 框架让并发编程变得更
2021-08-04 20:44:45
216
原创 【MySQL】Java中高级核心知识全面解析(2)
没有 Ack 机制,也不保证数据的连续: PubSub 的生产者传递过来一个消息,Redis 会直接找到相应的消费者传递过去。如果没有一个消费者,那么消息会被直接丢弃。如果开始有三个消费者,其中一个突然挂掉了,过了一会儿等它再重连时,那么重连期间的消息对于这个消费者来说就彻底丢失了。不持久化消息: 如果 Redis 停机重启,PubSub 的消息是不会持久化的,毕竟 Redis 宕机就相当于一个消费者都没有,所有的消息都会被直接丢弃。基于上述缺点,Redis 的作者甚至单独开启了一个 Disque .
2021-08-04 20:42:46
196
原创 「高并发秒杀」Java环境搭建
下载安装包下载JDK1.8的安装包,可以点以下链接,这个是oracle的要注册下载,或者自行去网页寻找点击跳转到下载地址双击安装JKD,一直下一步直到此界面:然后更改安装路径,点击更改(c),更改到好记得路径,把路径记下来或者复制到某个地方配置环境变量我的电脑——右键——属性——选择更改高级设置选择环境变量在系统变量中选择新建在变量名中输入JAVA_HOME(这里要大写,全英才能打出这个_下划线),然后变量值是你刚刚更改的安装路径复制进去,确定就可以
2021-08-04 20:40:38
142
原创 不看绝对血亏!Java面向对象程序设计张桂珠课后答案
正文谈到 MYSQL 的事物, 相信大家对这几个概念都不会陌生:四大特性:ACID并发问题脏读不可重复读幻读隔离级别Read Uncommitted(读未提交)Read Committed(读提交)Repeatable Read(可重读)Serializable(可串行化)下面的思维导图可能更表达得清晰????MySQL 的默认事物隔离级别是 RR (Repeatable Read) ,可重复读级别是能够解决脏读、不可重复读的这两个事物并发问题的,但是幻读的问题仍
2021-07-30 14:50:40
365
原创 不看绝对血亏!Java必学框架
Redis主从复制概念Redis的主从复制概念和MySQL的主从复制大概类似。一台主机master,一台从机slaver。master主机数据更新后根据配置和策略,自动同步到slaver从机,Master以写为主,Slave以读为主。主要用途读写分离:适用于读多写少的应用,增加多个从机,提高读的速度,提高程序并发数据容灾恢复:从机复制主机的数据,相当于数据备份,如果主机数据丢失,那么可以通过从机存储的数据进行恢复。高并发、高可用集群实现的基础:在高并发的场景下,就算主机挂了,从机可
2021-07-30 14:49:45
220
原创 不看绝对血亏!Javastream并行不安全
并发模型和分布式系统很相似并发模型其实和分布式系统模型非常相似,在并发模型中是线程彼此进行通信,而在分布式系统模型中是 进程 彼此进行通信。然而本质上,进程和线程也非常相似。这也就是为什么并发模型和分布式模型非常相似的原因。分布式系统通常要比并发系统面临更多的挑战和问题比如进程通信、网络可能出现异常,或者远程机器挂掉等等。但是一个并发模型同样面临着比如 CPU 故障、网卡出现问题、硬盘出现问题等。因为并发模型和分布式模型很相似,因此他们可以相互借鉴,例如用于线程分配的模型就类似于分
2021-07-30 14:49:00
1692
原创 不服不行!3分钟教会你什么线程安全以及如何实现线程安全
RabbitMQ:优点:轻量,迅捷,容易部署和使用,拥有灵活的路由配置缺点:性能和吞吐量较差,不易进行二次开发RocketMQ:优点:性能好,稳定可靠,有活跃的中文社区,特点响应快缺点:兼容性较差,但随意影响力的扩大,该问题会有改善ActiveMQ:目前,消息队列在各大互联网平台,尤其是电商平台如京东、淘宝、去哪儿等网站有着深入的应用,主要作用是高并发访问高峰,通过异步消息模式减少网站响应时间,提高系统吞吐量。ActiveMQ作为众多MQ中的一员,而且也是最老牌的一员,有其优势:1)多编程语言
2021-07-30 14:48:12
226
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人