- 博客(108)
- 收藏
- 关注
原创 被鸿洋推荐过的:超高质量Flutter+Kotlin笔记,2021吊打面试官系列
第二章 在 Windows 上搭建Flutter 开发环境第三章 编写您的第一个 Flutter App第四章 Flutter 开发环境搭建和调试第五章 Dart 语法篇之基础语法(一)第六章 Dart 语法篇之集合的使用与源码解析(二)第七章 Dart 语法篇之集合操作符函数与源码分析(三)第八章 Dart 语法篇之函数的使用(四)第九章 Dart 语法篇之面向对象基础(五)第十章 Dart 语法篇之面向对象继承和Mixins(六)资料过多省略,省略…flutter实
2022-01-20 18:30:06
235
原创 补齐Android技能树 - 玩转Gradle插件 _ 小册免费学,书籍+视频+学习笔记+技能提升资源库
id ‘java-gradle-plugin’id ‘groovy’}gradlePlugin {plugins {greeting {// 插件idid = ‘cn.coderpig.plugins.greeting’// 插件实现类implementationClass = ‘cn.coderpig.plugins.CpPluginPlugin’}}}Tips:网上很多Gradle插件开发教程还要另外配置一个 properties 文件,如:src/main/resourc
2022-01-20 18:28:41
3199
原创 花椒Android客户端多变体构建实践,android常见面试题
versionCode 20000 + android.defaultConfig.versionCodeversionNameSuffix “-minApi23”…}}}…这里要注意的是productflavors中配置的顺序决定了配置的优先级,如上代码,如果在demo和minApi24中同时配置了minSdkVersion,因为api在flavordimensions中靠前,所以minApi24中的配置会胜出。那么flavor是如何起作用的呢?我们知道通常的构建都会使用位于src/ma
2022-01-20 18:27:16
3131
原创 致敬Glide-借用其思想设计一个拍照选图控件,2021年阿里Android高级面试题分享
File result = compressPhotoFromAlbumAsy(data);// 上传给后端、等业务处理uploadAsy(result);}所以梳理下来有几点痛点:处理入口分散、触发拍照行为和接收不在一个地方、依赖重写onActivityResult方法,非常不利于后期模块化组件化拆分。图片需要异步处理以提高用户体验,所以此时还需要考虑容器的生命周期,需要添加很多判断代码,从而导致可读性比较差,每次梳理图片的逻辑处理曾和业务上的图片上传层都需要不少时间重构结果:
2022-01-20 18:25:51
131
原创 走心的中级Android工程师跳槽经验分享(1),flutterandroidx支持
面试中要调整心态,努力表现面试后及时思考总结有多个 offer 如何选择优雅的离职准备入职这些应该是一次跳槽从开始到结束比较完整的流程了。接下来我们将详细了解每一部分。二、跳槽前要思考的问题============================================================================我的如意工作是一个盖世英雄,有一天他会拿着高薪股权来迎娶我,我猜到了开头,却猜不到这结局…每一份工作都是以希冀开始,我们心..
2022-01-19 01:49:28
251
原创 详解二叉搜索树(BST)的Java实现和五种遍历方式,移动智能终端开发技术第三次作业
//记作当前节点TreeNode current = root;//current为null,跳出循环,parent节点代表我们要插入元素的父节点while (current != null) {//如果我们要插入的节点小于当前节点,就去遍历其左子树//否则遍历右子树if (o.compareTo(current.element) < 0) {parent = current;current = current.left;} else if (o.compareTo(current.
2022-01-19 01:45:56
215
原创 设计模式十:策略模式(Strategy Pattern,2021年Android面经分享
1.4.1、传统写法:1.4.2、策略模式写法:1.5、优点2、在实际开发中的运用0、相关文章:=======Android的设计模式-策略模式Android 中的那些策略模式(阅读量6376)1、详解====1.1、概念定义一系列的算法,把它们一个个封装起来,并且使它们可以互相替换。本模式使得算法可独立于使用它的客户而变化。1.2、使用场景一个类定义了多种行为,并且这些行为在这个类的方法中以多个条件语句的形式出现,那么可以使用策略模式避免在类中使用大量的条件语句。1.
2022-01-19 01:44:31
246
原创 计算机基础六:计算机网络之概述篇,android开发项目实战
5、计算机网络的性能指标5.1、时间延迟5.1.1、发送时延5.1.2、传播时延5.1.3、排队时延5.1.4、处理时延5.1.5、总时延5.2、往返时间RTT1、概述====1.1、什么是计算机网络?1.2、计算机网络的分类按照网络的作用范围分:图二按照使用者分类2、计算机网络发展简史===========2.1、互联网的发展历史图一图二图三图四图五2.2、中国互联网的发展简史图一图二:中国当前最大的五个计算机网络3、计算
2022-01-19 01:43:26
125
原创 蓝图已经画好了?透过“Q,android适配布局
仔细观察,谷歌官方演示动画里的这台手机是不是很眼熟不过安卓Q已经对折叠屏进行了原生适配,用户不用担心会在折叠屏手机上出现应用界面不适配的情况,相反,安卓Q还针对折叠屏的应用场景做了相应的优化,比如多任务显示和内外屏之间的无缝切换。光看文字可能比较抽象,下面上真机演示图。没错,谷歌官方演示动画里的那台折叠屏设备就是三星Galaxy Fold,其在软件上对折叠屏的适配的完成度还是比较高的,这其中肯定也少不了好“基友”谷歌的帮助。因此,安卓Q原生适配折叠屏设备无疑是助推其发展的动力,谷歌也表示今年.
2022-01-19 01:40:55
201
原创 自定义带 vip 标识的 圆形头像(圆形ImageView),android驱动开发视频教程
private static final int BORDER_RADIUS_DEFAULT = 10;private static final int BORDER_WIDTH_DEFAULT = 0;private static final int BORDER_COLOR_DEFAULT = R.color.black_alpha_percent_10;private int mShapeType;private int mBorderRadius;private int mBorderWi
2022-01-19 01:39:35
171
原创 腾讯,阿里,京东等一线互联网公司主流Android架构技术体系详解
前言近几年,Android 开发的套路日趋成熟,越来越多的 Android 工程师获得了「高级」的称号,也有不少人在参与公司的 App 从无到有再到火爆的整个开发过程中,顺理成章地拿到了 Leader 职位。但对于自己的水平,多数人却并不满意,甚至有不少人觉得自己的水平被同事和老板「高估」了。市场真正需要的所谓「高级架构师师」到底需要具备什么条件?我将通过本文,跟大家探讨一下 Android 工程师在当下这个时代的痛点和脱颖而出之路目录1.Android初中级工程师遇到了哪些瓶颈?2.什么是An
2022-01-19 01:38:24
588
原创 想搞懂Jetpack架构可以不搞懂生命周期知识吗?,阿里Android面试必问
2. 单Activity按返回按钮=====================================================================================触发步骤:按返回按钮或者调用finish方法重新进入Activity该场景演示了用户启动,销毁,重新进入Activity的生命周期变化。调用顺序如图: 状态管理:onSaveInstanceState没有被调用,因为Activity被销毁,没有必要保存状态当Acti
2022-01-17 20:21:36
558
原创 性能优化之matrix学习-IO Canary,安卓面试题2019
public class IOCloseLeakDetector extends IssuePublisher implements InvocationHandler {private static final String TAG = “Matrix.CloseGuardInvocationHandler”;private final Object originalReporter;public IOCloseLeakDetector(OnIssueDetectListener issueList
2022-01-17 20:20:11
507
原创 必备的核心技术100+开始往‘废了,为什么说spring让Android变得更好
一共分为七个模块:Java 知识点汇总Android 知识点汇总Android 扩展知识点Android 开源库源码分析设计模式汇总Gradle 知识点汇总常见面试算法题汇总Java 知识点汇总1.Java 基础2.Java 容器3.Java 并发4.Java 并发进阶知识Android 知识点汇总1.Activity2.Fragment3.Service4.BroadcastReceiver5.
2022-01-17 20:17:21
679
原创 微信小程序开发之——用户登录-获取用户信息(5),意外收获字节跳动内部资料
{{userInfo.nickName}}{{userInfo.city}}{{userInfo.gender0?“未知”:userInfo.gender1?“男”:“女”}}说明:open-type=“getUserInfo”:获取用户信息,可以从bindgetuserinfo回调中获取到用户信息(小程序插件中不能使用)3.2 样式文件(pages/user/user.wxss).container{height: 100%;display: flex;flex-d...
2022-01-17 20:14:31
682
原创 微信小程序使用腾讯云COS对象存储保存图片和文件,面试官问的那些安卓原理你都懂吗
自定义域名的教程,看官方文档:https://cloud.tencent.com/document/product/436/62523、thinkphp后端:计算腾讯云COS对象存储签名特别说明:由于签名计算放在前端会暴露 SecretId 和 SecretKey, 所以我们把签名计算过程放在后端实现,前端通过 ajax 向后端获取签名结果,正式部署时请在后端加一层自己网站本身的权限检验。thinkphp控制器controller中的代码:<?phpnamespace app
2022-01-17 20:13:06
503
原创 微信小程序--逻辑层与界面层,不可思议
15 wx.navigateTo({16 url: ‘…/logs/logs’17 })18 },19 onLoad: function () {20 if (app.globalData.userInfo) {21 this.setData({22 userInfo: app.globalData.userInfo,23 hasUserInfo: true24 })25 } el
2022-01-17 20:11:42
119
原创 开源项目之Android Afinal框架,android软件开发教程
public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);}public void btnClick(View v){textView.setText(“text set form button”);}..
2022-01-17 20:10:17
243
原创 年终总结:疫情被裁—进外包后裸辞,android模块化框架
以前的工作中没有机会经历完整的大型开发项目,能力也自然得不到提升和突破这一年我是如何学习的?学习内容都整合成了一个文档,因为内容实在是太多了,接下来只给大家放一个我大概学习的一个内容和方向:学习大纲:HandlerActivityFragmentServiceAndroid 布局优化BroadcastReceiverAsyncTask事件分发机制View 绘制流程Binder,多进程,AIDLAMS,WMS,PMSANR.
2022-01-17 20:08:52
366
原创 SSH实现百货中心供应链管理系统,springboot的工作原理图
更新员工信息界面类似于添加员工信息,修改员工信息界面实现了对单个员工信息的修改,同样实现了出错提示功能。图1.8 更新员工信息界面删除员工成功界面成功删除员工信息后会在页面上给出绿色的成功提示信息。图1.9 删除员工信息成功删除员工信息失败界面当已经登录的用户想要删除自己的信息时,会给出删除失败的提示,因为已经登录的用户不能删除自己。图1.10 删除员工信息失败1.4 合作公司管理界面经理、采购部员工可以登录合作公司管理界面对合作公司进行添加、删除、修改、..
2021-12-31 12:50:43
169
原创 Spring框架(五)SpringMVC高级,linux操作系统基础
1)导入依赖commons-fileuploadcommons-fileupload1.42)编写表单表单文件上传的三个要素:form标签要添加enctype=“multipart/form-data”提交方法为postinput类型为file……2)上传方法@Controllerpublic class UploadController {@RequestMapping("/upload")public String fileupload(Http.
2021-12-31 12:49:30
125
原创 Spring全注解开发---常用注解笔记整理,java面试突击第一季课件
public class Main{//传入的是配置类的位置,一开始是加载配置类,之前是加载配置文件的位置private ApplicationContext ioc= new AnnotationConfigApplicationContext(MyConfig.class);@Testpublic void test(){people peo = ioc.getBean(people.class);System.out.println(peo);//获取对应组件在容器中的名字Str
2021-12-31 12:48:28
398
原创 springmvc详解(二),java虚拟机的运行原理
3.2、整合service层3.2.1、service层spring配置文件applicationContext-service.xml在applicationContext-service.xml中管理service接口实现类的bean<beans xmlns=“http://www.springframework.org/schema/beans”xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xmlns:mvc=“http:.
2021-12-31 12:46:16
234
原创 SpringDataJPA之关联关系,详细说一下Redis每种数据类型的使用场景
pojo@Entity@Table(name=“t_users”)public class Users implements Serializable{@Id//strategy=GenerationType.IDENTITY 自增长@GeneratedValue(strategy=GenerationType.IDENTITY)@Column(name=“userid”)private Integer userid;@Column(name=“username”)private Str
2021-12-31 12:44:59
82
原创 springcloud(五)远程调用Feign(含源码跟踪),java基础入门答案谭晓芳
import org.《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享springframework.cloud.openfeign.FeignClient;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.Req
2021-12-31 12:43:23
342
原创 springcloud(一)注册中心eureka,java开发面试流程
spring-milestonesSpring Milestoneshttps://repo.spring.io/milestone这是cloud必须的依赖cloud版本,cloud的版本都喜欢以城市名命名。其中eureka的依赖只有一个:3.编写配置文件、我将application.perproties文件修改为了bootstrap.yml文件,因为cloud支持这种格式,也推荐这种格式。server:port: 8761eureka:client:service...
2021-12-31 12:42:23
106
原创 springcloud实战:服务间通信OpenFeign熔断,面试官必问的技术问题之一
我们提供了一个接口并实例化TestHystrixCommand类,通过 execute方法进行调用。当调用hystrix接口时,如果服务正常返回,则Hystrix 不做任何处理,一旦服务不可用,Hystrix就会开启熔断器,并进行异常处理,调用getFallback方法返回。启动test工程,通过postman访问地址 http:/localhost:9999/testHystrix ,出现如图11-2所示的界面。这说明此时服务正常返回。我们将run方法改成以下代码:try {//模拟HTTP请求
2021-12-31 12:41:03
1242
原创 springboot集成rabbitmq商品秒杀业务实战(流量削峰),linux系统架构与目录解析pdf
我们使用压力测试工具jweter对其进行并发性测试。二,springboot开始集成rabbitmq1,加入amqp的依赖org.springframework.amqpspring-rabbit2,配置application.yml配置文件spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/test?useUnicode=true&char
2021-12-31 12:39:54
244
原创 spring-boot-devtools 快速重启的秘密,kafka项目实战
spring.factories================在了解了 Springboot 的自动装配原理 后(不了解可以看看 4ye 之前写的这篇 《Springboot自动装配原理探索》),我们直接打开 spring-boot-devtools 源码 ,找到 spring.factories 文件,我们一般都本地开发调试的,所以就直接看这个LocalDevToolsAutoConfiguration 类啦LocalD.
2021-12-30 14:11:18
120
原创 Tensorflow for Java + Spark-Scala分布式机器学习计算框架的应用实践
import tensorflow as tffrom tensorflow.keras.models import Sequentialfrom tensorflow.keras.layers import Dense,Dropout,Convolution2D,MaxPooling2D,Flattenfrom tensorflow.keras.optimizers import Adamdef train_model():载入训练集和测试集数据,进行独热编码mnist = tf.keras.
2021-12-29 15:42:38
1706
原创 TCP-的三次握手,四次挥手和重要的细节,mybatis分页原理
基本 TCP 头部的长度是 20 字节,但是由于「选项」的长度是不确定的,所以需要「首部长度」字段明确给出头部长度。这里要注意的是,首部长度字段的单位是 32bit,也就是 4 字节,所以该字段的最小值是 5。标橙色的字段(确认序号,接收窗口大小,ECE,ACK)用于「回复」对方,举个例子,服务器收到对方的数据包后,不单独发一个数据包来回应,而是稍微等一下,把确认信息附在下一个发往客户端的数据帧上,也就是捎带技术。窗口大小是一个 16 位无符号数,也就是说窗口被限制在了 65535 字节,也就限制了 .
2021-12-29 15:41:25
60
原创 Spring(十三,成功跳槽字节跳动
SimpleInstantiationStrategy:简单的实例化策略CglibSubclassingInstantiationStrategy:扩展了SimpleInstantiationStrategy,默认的策略就是这个而调用的instantiate只有SimpleInstantiationStrategy实现了源码如下@Overridepublic Object instantiate(RootBeanDefinition bd, @Nullable String bean..
2021-12-29 15:40:23
259
原创 spring的事务隔离级别,清华大学出版社java基础入门课后题
==================================================================⑴ 原子性(Atomicity)原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。⑵ 一致性(Consistency)一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致
2021-12-29 15:39:21
66
原创 spring源码系列-beanDefinition(子路,阿里java面试流程
用一段代码和结果来证明上面的理论Appconfig.java@ComponentScan(“com.enjoy.beanDefinition”)@Configurationpublic class Appconfig {}X.java@Componentpublic class X {public X(){System.out.println(“X Constructor”);}}Y.javapublic class Y {}Test.javapublic class Te
2021-12-29 15:38:11
145
原创 Spring框架技术总结(三),墙都不扶就服你
将事务管理代码从业务方法中分离出来,以声明的方式来实现事务管理。将事务管理作为横切关注点,通过aop方法模块化。Spring中通过Spring AOP框架支持声明式事务管理。3.6、事务管理器无论使用Spring的哪种事务管理策略(编程式或者声明式)事务管理器都是必须的。就是 Spring的核心事务管理抽象,管理封装了一组独立于技术的方法。<bean id=“transactionManager”class=“org.springframework.jdbc.d..
2021-12-29 15:36:54
254
原创 SpringSecurity认证流程详解(附源码,复盘上次Redis缓存雪崩事故
.passwordParameter(“password”).loginPage("/toLoginPage").loginProcessingUrl("/login").successHandler(loginSuccessHandler).and().csrf().disable();}` 此处有个大坑, 如果设置了成功的处理类, 我们就千万不要在配置类中写成功跳转的方法了, 这样会覆盖掉我们的成功处理器!3. 前端用ajax请求并附加验证码校验===================
2021-12-29 15:35:37
440
原创 springmvc详解(二,java高级软件工程师面试题
4.1.1、逆向工程生成单表的po类及mapper4.1.2、手动定义多表的po类和mapper4.2、service层4.2.1、service接口4.2.2、service接口实现类4.3、表现层4.3.1、编写Controller(就是Handler)4.3.2、编写jsp4.4、三层代码编写总结4.4.1、dao层4.4.2、service层4.4.3、表现层五、部署测试一、环境准备======1.1、案例需求使用springmvc和mybatis完成商品列表查询
2021-12-29 15:33:17
108
原创 SpringMVC框架技术总结(二),【高级Java架构师系统学习】
3.3.1、@RequestParam范例一????要求定义个接口,该接口请求路径要求为 /testRequestParam,请求方式无要求。参数为id和name和likes。使用QueryString的格式传递。3.3.1.1、参数单独获取????如果我们想把id,name,likes单独获取出来可以使用如下写法:在方法中定义方法参数,方法参数名要和请求参数名一致,这种情况下我们可以省略@RequestParam注解。@RequestMapping("/testRquestParam")
2021-12-29 15:32:08
110
原创 SpringColud Eureka的服务注册与发现,程序员工作2年月薪12K
客户端(Eureka Client): Client将自己的服务信息通过一定的方式登记到Server上,并在正常范围内维护自己信息一致性,方便其他服务发现自己,同时可以通过Server获取到自己依赖的其他服务信息,完成服务调用,还内置了负载均衡器,用来进行基本的负载均衡Eureka GIt官网:https://github.com/Netflix/Eureka1.3 服务注册与发现服务注册与发现关系图:1.2 client功能和server功能1.2.1 client功能注册:每个微服.
2021-12-28 14:20:31
109
原创 SpringCloudRPC核心原理:RxJava响应式编程框架,创建型操作符
package com.crazymaker.demo.rxJava.basic;import lombok.extern.slf4j.Slf4j;import org.junit.Test;import rx.Observable;@Slf4jpublic class CreaterOperatorDemo {/***演示just的基本使用*/@Testpublic void justDemo() {//发送一个字符串"hello world"Observable.just(“he
2021-12-28 14:19:18
81
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人