- 博客(43)
- 收藏
- 关注
原创 Android 系统到底提供了哪些东西,供我们可以开发出优秀的应用程序(文末送书)
小编这些年深知大多数初中级Android工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!资料⬅专栏获取感兴趣的新人。
2024-06-20 03:24:50
384
原创 Activity显示界面——说说View的那些理不清的关系
小编这些年深知大多数初中级Android工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!资料⬅专栏获取。
2024-06-20 00:44:40
661
原创 Android模拟器图形绘原理(二十二)
对于指令的传输,要对指令进行编解码。ChannelStream是对于RenderChannel进行了一次包装,对于具体的操作还是交到RenderChannel进行执行,RenderChannel负责在Guest和Host之间的协议数据通信,然后ChannleStream提供了一些buffer在对其封装的基础上,更方便的获取其中的数据,同时由于继承自IOStream,也定义了其中的一些接口,更方便调用。在服务器这一端,我们用的到的只有两个函数,这两个函数也是在ChannelStream中做了封装的,分别为。
2024-06-19 04:03:15
852
原创 微服务限流Sentinel讲解(四)
Sentinel支持的雪崩解决方案:线程隔离(仓壁模式)降级熔断Feign整合Sentinel的步骤:在application.yml中配置:feign.sentienl.enable=true给FeignClient编写FallbackFactory并注册为Bean将FallbackFactory配置到FeignClient3.2.线程隔离(舱壁模式)线程隔离的两种手段是?信号量隔离线程池隔离信号量隔离的特点是?基于计数器模式,简单,开销小线程池隔离的特点是?
2024-06-19 04:02:02
844
原创 小伙伴想学Jenkins自动构建发布项目,我:安排上了!!
Jenkins构建Jar包发布到远程服务器和构建War包发布到远程服务器配置基本一致,只是Post Steps配置稍有不同。最后,我们也给出account-server.sh脚本的内容,如下所示。在系统管理-系统设置,配置SSH remote hosts。最后,我们给出tomcat.sh脚本的内容,如下所示。输出如下日志,则代表构建并部署到tomcat成功。[在这里插入图片描述](https://img。
2024-06-19 03:19:34
761
原创 Android多点触摸与手势
具体的手势检测算法,对于某些应用来说可能是独特的,但是对于常用的软件,使用到的手势一般只有某个方向的滑动、快速滑动、按下、长按等,若是这类常规需求,可以考虑使用Android提供的G。boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)–滑动,其中后两个参数是X轴和Y轴的速度,在弹起的时候触发。void onLongPress(MotionEvent e)–长按,按住的时候触发。
2024-06-19 02:27:30
492
原创 基于 apache BeanUtils 实现 JavaBean克隆及属性拷贝
需要注意的是,java.util.Date是不被支持的,而它的子类java.sql.Date是被支持的。返回一个Object中所有的可读属性,并将属性名/属性值放入一个Map中,另外还有一个名为class的属性,属性值是Object的类名,事实上class是java.lang.Object的一个属性。通过反射将orig对象的值拷贝给dest对象(前提是对象中属性的名字相同),这种拷贝是浅拷贝,复制后的2个Bean的同一个属性可能拥有同一个对象,在使用时要小心,特别是对于属性为自定义类的情况。
2024-06-19 01:58:04
907
原创 Android-面试官:View-post()-为什么能够获取到-View-的宽高-?
/ 在 onResume() 回调中获取宽高windowdecorViewwidthheight大多数人都能直截了当的给出答案:在onCreate()和onResume()中是无法获取到宽高的,而回调中可以。从日志打印顺序可以看出来,回调中的打印语句是最后执行的。抛开代码来思考一下这个问题,毫无疑问,最起码肯定得在这个时间点之后。从上面的结果来看,onCreate()和onResume()发生在这个时间点之前,的回调发生在这个时间点之后。
2024-06-19 01:24:28
907
原创 Android 高级UI
Android 允许在外部样式文件中定义 Android 应用程序的 Look 和 Feel ,你可以将定义好的样式应用在不同的视图(Views)上。使用XML这种方式定义样式,你只需要配置一些通用的属性,以后如果需要修改样式,可以集中修改。你可以在你 Android 项目的 /res/values 文件下创建一个 XML 文件,注意给文件的根目录必须是。android中的样式是用于为界面元素定义显示风格,它是一个包含一个或者多个view控件属性的集合。name属性为样式要用在的View控件持有的属性。
2024-06-19 00:54:50
751
原创 刚上岸字节年薪60W的Java架构师,耗时半年总结的24W字面试手册~
由于要控制文章篇幅,所以都是以截图方式展示内容。Java基础篇(50道面试题)字符串&&集合篇(72道)数据结构与算法(53道)MySQL篇(59道)Redis篇(48道)Mongo篇(83道)Mongo篇(83道)并发编程篇(78道)网络协议篇(53道)
2024-06-19 00:53:56
116
原创 Android 缓存Bitmaps
在Activity(活动)被重新创建后,你可以在上面的Fragment中访问到已经存在的缓存对象,使得图片能快加载并重新填充到ImageView对象中。你的应用有可能在执行其他任务(如打电话)的时候被打断,并且在后台的任务有可能被杀死或者缓存被释放。一个分辨率为800*480的设备上,全屏的填满图片的GridView占用的内存约1.5M(800*480*4字节),因此这个大小的内存可以缓存2.5页左右的图片。当图片处理完成后,最终的Bitmap要被添加到内存缓存和硬盘缓存中,以便后续的使用。
2024-06-19 00:26:12
702
原创 初识Java语言(八)- 异常
虽然Java的实现者给我们提供了很多丰富的异常类,但是有时候Java底层实现的异常类,并不能够满足人们的需求。当然我们还得注意一个问题,那就是在try语句里面如果产生了异常,从产生异常的位置开始,往下一直到try语句完,这一范围内的语句都不会被执行。如果上次调用方,也没有处理相应的异常,会一直往上层返回,知道main方法处,还没处理,就会交给JVM处理。在上文中,我们只是知道了如何处理系统自己产生的异常,现在我们来看一看,我们自己如何去产生(抛出)一个异常。,JVM的处理方式就是终止程序的运行。
2024-06-18 13:12:36
479
原创 你可能没听过的数组-----柔性数组
/分别给结构体中的除了柔。#include//或者是#include动态内存函数的头文件。柔性数组其实是结构体中的最后一个数组未说明大小,且结构体中至少包含一个以上其他类型,如。//重新调整所申请的空间,将柔性数组调整为40。//或者int arr[0];//性数组的其他类型和给柔性数组申请空间。
2024-06-18 12:40:03
334
原创 一款小清新的 SpringBoot+ Mybatis 前后端分离后台管理系统项目
今日推荐推荐3个快速开发平台 前后端都有 项目经验又有着落了推荐一个高仿微信的项目 有点屌!!一二线城市知名 IT 互联网公司名单(新版)项目介绍前后端分离架构,分离开发,分离部署,前后端互不影响。前端技术采用vue + antdvPro + axios。后端采用spring boot + mybatis-plus + hutool等,开源可靠。基于spring security(jwt) + 用户UUID双重认证。基于AOP实现的接口粒度的鉴权,最细粒度过滤权限资源。
2024-06-18 08:14:42
894
原创 【Spring教程】详解AOP的实现原理(动态代理)
在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。环绕通知(Around):通知包裹了被通知的方法,在被通知的方法调用之前和调用之后执行自定义的行为。2、静态代理事先知道要代理的是什么,而动态代理不知道要代理什么东西,只有在运行时才知道。//回调方法,设置回调对象为本身。System.out.println(“切点:事务控制/日志输出”);
2024-06-18 07:35:44
572
原创 【026期】面试官:说说双重检查加锁单例模式为什么两次校验?
此时t2线程完成任务,资源又回到t1线程,t1此时也进入同步代码块,如果没有这个第二个if,那么,t1就也会创建一个singleton实例,那么,就会出现创建多个实例的情况,但是加上第二个if,就可以完全避免这个多线程导致多次创建实例的问题。null,此时线程t1准备继续执行,但是由于资源被线程t2抢占了,此时t2页调用getInstance方法,同样的,由于singleton并没有实例化,t2同样可以通过第一个if,然后继续往下执行,同步代码块,第二。3、将 singleton 指向分配的内存空间。
2024-06-18 07:01:40
229
原创 《高性能MySQL》读书笔记
前言我准备开一个新的系列,这是我以前接触不多的新领域,叫性能调优。刷博客的时候,看到“性能调优”这个词的时候,我整个人都愣住了,感觉时间停滞了。我发现,我根本不知道我写的项目代码,性能属于什么水平,就算是烂,也不知道到底有多烂。我使用的中间件,也不知道它们的性能如何。这样不好。本系列取材于《高性能MySQL》第三版,是我的学习笔记。MySQL架构与历史。
2024-06-18 06:25:02
753
原创 《菜菜的机器学习sklearn课堂》逻辑回归
概述:名为"回归"的分类器我们已经接触了不少带 “回归” 二字的算法,例如回归树、随机森林的回归,他们都是区别于分类算法,用来的算法。然而,其本质是由线性回归变化而来的,一种广泛使用于分类问题中的广义回归算法。要理解逻辑回归从何而来,得先理解线性回归。
2024-06-18 05:49:15
730
原创 《大型数据库技术》MySQL数据库安装配置及基础使用
创建一张雇员表,命名为employee,包括如下字段:雇员工号(从86001开始递增),姓名,性别,生日,部门名称。INSERT INTO employee VALUES(“0”, “陆振宇”, “男”, “1999.8.15”, “研发部”);INSERT INTO employee VALUES(“0”, “王五”, “男”, “1997.2.17”, “采集部”);INSERT INTO employee VALUES(“0”, “吴九”, “男”, “1998.12.5”, “清洁部”);
2024-06-18 05:16:02
693
原创 《SpringCloud超级入门》Spring Boot Starter的介绍及使用《七》
自动配置非常方便,当我们要操作 Mongodb 的时候,只需要引入 spring-boot-starter-data-mongodb 的依赖,然后配置 Mongodb 的链接信息 spring.data.mongodb.uri=mongodb://localhost/test 就可以使用 MongoTemplate 来操作数据,MongoTemplate 的初始化工作全部交给 Starter 来完成。创建一个项目 spring-boot-starter-demo,pom.xml 配置代码如下所示。
2024-06-18 04:38:26
911
原创 《Java并发编程的艺术》读后笔记-part4
现代操作系统在运行一个程序时,会为其创建一个进程。现代操作系统调度的最小单元是线程,也叫轻量级进程。在一个进程里可以创建多个线程,这些线程都拥有各自的计数器、堆栈和局部变量等属性,并且能够访问共享的内存变量。处理器在这些线程上高速切换,让使用者感觉到这些线程在同时执行。一个Java程序从main()方法开始执行,然后按照既定的代码逻辑执行,看似没有其他线程参与,但实际上Java程序天生就是多线程程序,因为执行main()方法的是一个名称为main的线程。
2024-06-18 04:08:54
673
原创 “穷苦乡村”小伙就得安于现状?(终获阿里Java开发P7岗)
直到我到了上高中的年纪,虽然穷,但是好在我爸妈对我的教育还是蛮看重的,就把我送到了镇里的高中读寄宿,我自己也很渴望学习,也算争气,考上了湖南的一家一本院校,选择了软件工程专业,至此开始走上了Java的不归路。我给了自己两个月的时间,狂补技术,当然过程是非常难熬的,我也是靠着自己的梦想和不负爸妈的期望熬了过来,最终斩获了阿里Java开发p7岗,面试前自然也是做过不少的面试准备,这份。有些人喜欢安逸的生活,而有些人就像我一样不达到自己的目标绝不甘心,不管大家是什么样的选择,希望都能去遵循自己的内心去奋斗。
2024-06-18 03:33:59
447
原创 [Windows]查看运行进程的参数【wmic】
wmic process where=“caption like ‘notepad%’” get caption,commandline /value【模糊查找】wmic process where caption=“notepad.exe” get caption,commandline /value【精确查找】b. 本地安全策略的“网络访问: 本地帐户的共享和安全模式”应设为“经典-本地用户以自己的身份验证”。(Full显示所有、Brief显示摘要、Instance显示实例、Status显示状态)
2024-06-18 02:51:10
278
原创 Tomcat 服务器
Tomcat 是由 Apache 组织提供的一种 Web 服务器,它是一种轻量级的 JavaWeb 服务器,并且由于其开源、免费的特性,其也是当前应用最广的 JavaWeb 服务器。| work | 是 Tomcat 工作时的目录,是用来存放 Tomcat 运行时 jsp 翻译为 Servlet 的源码和 Session 钝化的目录 |docBase 表示你的工程目录在哪里。找到 Tomcat 安装目录下的 bin 目录下的 startup.bat 文件,双击,就可以启动Tomcat 服务器。
2024-06-18 02:19:03
289
原创 Spring~使用Mybatis-Spring包将MyBatis与Spring整合(俩种方式实现), 解决静态资源不导入问题(1)
什么是 MyBatis-Spring?
2024-06-18 01:46:51
285
原创 Springboot 跟着我了解下 事务 @Transactional 默认方式 Propagation
那么,在默认addOne和addTwo都使用了事务,而且都是默认指定的传播机制PROPAGATION_REQUIRED的时候,我们想达到,只要这两个方法,或者testThree 方法,其中一个出现异常触发回滚,都可以将这三个方法一起进行回滚。2.如果外部方法开启事务并且指定为Propagation.REQUIRED(默认就是),所有Propagation.REQUIRED修饰的内部方法和外部方法均属于同一事务 ,只要一个方法回滚,整个事务均回滚,因为大家都加入到了外部设置的这个事务里了。
2024-06-18 01:15:21
317
原创 Spring Boot 实战 :入门篇
org.springframework.bootspring-boot-starter-thymeleaforg.springframework.bootspring-boot-starter-weborg.mybatis.spring.bootmybatis-spring-boot-starter2.0.1 org.mybatis.spring.bootmybatis-spring-boot-starter1.1.1mybatis-springorg.mybatisorg.mybatismybatis-s
2024-06-17 21:39:46
583
1
原创 Redis单机集群
介绍图中的几个对象Redis-Cluster:接受客户端的请求,,将请求按照负载均衡规则分配给各个Master(每一个小集群)Master与其slave:一个小集群,与上面哨兵模式提到的集群类似1、高可用这个概念是相对来说的,并不能真正百分百实现,当小集群的Master挂掉时,小集群内部会进行选举切换,但在这个瞬断期间,Redis并不会停止服务,只是不会将请求分给挂断的集群去处理,会分发给其他集群进行处理,高可用性比哨兵模式会好很多。
2024-06-17 21:08:47
723
原创 nginx 平滑升级、location、访问控制(1)
/功能:允许根据用户请求的URI来匹配定义的各location,匹配到时,此请求将被相应的location配置块中的配置所处理,例如做访问控制等功能。ion ^~ 路径 ) --> ( location ~ 正则 ) --> ( location ~* 正则 ) --> ( locatio。| ^~ | 前缀匹配,类似于无修饰符的行为,也是以指定模块开始,不同的是,如果模式匹配,那么就停止搜索其他模式了,不支持正则表达式 |( location = 路径 ) --> ( locat。
2024-06-17 20:35:05
742
原创 linux htop命令详解
如果你观察窗口的左上角部分,你会看到显示的是 CPU 负载、内存消耗及交换空间的实时信息,右上角包含的是任务、线程、平均负载及系统运行时间的信息。平均负载部分提供了三个数字,这仅仅表示的是过去的5分钟、10分钟和15分钟系统的平均负载而已,在单核的系统中,平均负载为1表示的是百分之百的 CPU 利用率。最后,运行时间 (uptime)标示的数字是从系统启动起到当前的运行总时间。下面,我们将用例子来进一步讨论这个命令。
2024-06-17 19:35:51
324
原创 java高并发系列 - 第5天:深入理解进程和线程
一般来说,WAITING的线程正式在等待一些特殊的事件,比如,通过wait()方法等待的线程在等待notify()方法,而通过join()方法等待的线程则会等待目标线程的终止。我们经常使用windows系统,经常会看见.exe后缀的文件,双击这个.exe文件的时候,这个文件中的指令就会被系统加载,那么我们就能得到一个关于这个.exe程序的进程。线程是轻量级的进程,是程序执行的最小单元,使用多线程而不是多进程去进行并发程序的设计,是因为线程间的切换和调度的成本远远小于进程。5.线程就好比车间里的工人。
2024-06-17 19:05:31
439
原创 Java的System
经过查阅JDK API后,发现System.getProperty(String)可以获得当前运行环境的JRE路径,从而解决了该问题。路径分隔符(在 UNIX 系统中是“:”)行分隔符(在 UNIX 系统中是“/n”)Java 运行时环境规范供应商。Java 运行时环境规范版本。Java 运行时环境规范名称。Java 运行时环境供应商。Java 虚拟机规范供应商。Java 虚拟机实现供应商。Java 运行时环境版本。Java 虚拟机规范版本。Java 虚拟机规范名称。Java 虚拟机实现名称。
2024-06-17 18:34:58
138
原创 Java多线程(2)--Thread类继承和Runnable接口创建线程
④一个线程对象只能调用一次start()方法启动,如果重复调用了,则将抛出异常“IllegalThreadStateException”。⑤调用Thread类的start方法:开启线程,调用Runnable子类接口的run方法。②run()方法由JVM调用,什么时候调用,执行的过程控制都有操作系统的CPU调度决定。①如果自己手动调用run()方法,那么就只是普通方法,没有启动多线程模式。④调用线程对象start方法:启动线程,调用run方法。②子类中重写Runnable接口中的run方法。
2024-06-17 18:06:40
375
原创 Java中ArrayList集合
创建自己定义的Student类型的数据:ArrayList list = new ArrayList();//获取集合元素个数。存储int类型的元素:ArrayList list = new ArrayList();Main.java文件。
2024-06-17 17:29:04
398
原创 Java 中处理 Exception 的 9 种实践,曾被很多团队认可采纳,值得收藏!
现在很多IDE都能智能提示这个最佳实践,当你试图首先捕获最笼统的异常时,会提示不能达到的代码。但现实是经常会出现无法预料的异常或者无法确定这里的代码未来是不是会改动(删除了阻止异常抛出的代码),而此时由于异常被捕获,使得无法拿到足够的错误信息来定位问题。和前面的一点一样,都是为了给调用者提供尽可能多的信息,从而可以更好地避免/处理异常。当异常的名称不够明显的时候,则需要提供尽可能具体的错误信息。但是当try块中的语句抛出异常或者自己实现的代码抛出异常,那么就不会执行最后的关闭语句,从而资源也无法释放。
2024-06-17 16:56:56
239
原创 Git标星25K,美团大佬私藏的SpringSecurity笔记,堪比教科书级
*这部分内容是对 Spring Security 框架在应用上的一些扩展,**包括在 Spring Security 中引入全新的响应式编程技术,以及如何对应用程序安全性进行测试的系统方法。**同时,随着 Spring 5 的发布也涌现出了响应式编程这种新型技术体系,**新版本的 Spring Security 中也提供了对响应式编程的全面支持,本专栏对响应式 Spring Security 也做了系统介绍。微服务是目前系统开发的主流技术体系,而微服务的安全性也是日常开发的一个重要主题。
2024-06-17 16:24:57
304
原创 CentOS8安装Docker
安装依赖包设置阿里云镜像安装Docker Engine - Community --此命令会安装最新版本(latest)报如下错误:问题: package docker-ce-3:20.10.1-3.el7.x86_64 requires containerd.io >= 1.4.1, but none of the providers can be installed安装低版本Docker。
2024-06-17 15:48:21
510
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人