<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[m0_48567424的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m0_48567424</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_48567424]]></copyright><item><title><![CDATA[Android 实现ListView的A-Z字母排序]]></title><link>https://blog.youkuaiyun.com/m0_48567424/article/details/145505396</link><guid>https://blog.youkuaiyun.com/m0_48567424/article/details/145505396</guid><author>m0_48567424</author><pubDate>Sat, 08 Feb 2025 01:16:26 +0800</pubDate><description><![CDATA[邮箱：13164716840@163.com。根据拼音来排列ListView里面的数据类。* 日期：2018/11/23 15。]]></description><category></category></item><item><title><![CDATA[Android 安卓状态栏工具类（沉浸式、字体颜色等）]]></title><link>https://blog.youkuaiyun.com/m0_48567424/article/details/145505388</link><guid>https://blog.youkuaiyun.com/m0_48567424/article/details/145505388</guid><author>m0_48567424</author><pubDate>Sat, 08 Feb 2025 01:14:23 +0800</pubDate><description><![CDATA[/填充View//id：控件id//状态栏字体颜色//true：黑色//false：白色//状态栏颜色//activity//color(状态栏颜色值)//alpha（透明度，取值范围 0.0f - 1.0f ）]]></description><category></category></item><item><title><![CDATA[Android Activity原理以及其子类描述]]></title><link>https://blog.youkuaiyun.com/m0_48567424/article/details/145504222</link><guid>https://blog.youkuaiyun.com/m0_48567424/article/details/145504222</guid><author>m0_48567424</author><pubDate>Fri, 07 Feb 2025 22:52:30 +0800</pubDate><description><![CDATA[举个例子来说，你可以在onStart()中注册一个IntentReceiver来监控那些可以对你的UI产生影响的环境改变，当你的UI不继续在用户面前显示时你可以在onStop()中注销这个IntentReceiver。其他的方法可以在需要时进行实现，当实现这些方法的时候需要注意的是一定要调用父类中的对应方法。从activity调用onResume()开始，到调用对应的onPause()为止称为前景生命周期，这段时间activity处于其他所有activity的前面，且与用户交互。它们分别做了什么呢？]]></description><category></category></item><item><title><![CDATA[Android 10 适配及具体解决办法]]></title><link>https://blog.youkuaiyun.com/m0_48567424/article/details/145504193</link><guid>https://blog.youkuaiyun.com/m0_48567424/article/details/145504193</guid><author>m0_48567424</author><pubDate>Fri, 07 Feb 2025 22:50:26 +0800</pubDate><description><![CDATA[后面又对目前处于焦点的应用思考了一下, 应该就是视图加载到窗口上才能获取焦点, 后面经过适配, 在view.post()之后获取剪贴板数据,又参考了这篇文章。//设置为全屏通知, 此时若App处于前台, 会为悬挂通知, 无论前台后台, 都会自动启动Acitivity。//设置为全屏通知, 此时若App处于前台, 会为悬挂通知, 无论前台后台, 都会自动启动Acitivity。// API >= 9 的设备才有 android.os.Build.SERIAL。//返回剪贴板的正常数据。]]></description><category></category></item><item><title><![CDATA[Android性能优化之APK优化，系列篇_apk优化 package]]></title><link>https://blog.youkuaiyun.com/m0_48567424/article/details/145476844</link><guid>https://blog.youkuaiyun.com/m0_48567424/article/details/145476844</guid><author>m0_48567424</author><pubDate>Thu, 06 Feb 2025 16:27:25 +0800</pubDate><description><![CDATA[工欲行其事，必先利其器”，英雄和侠客更需要宝剑助己成功。同样，在现代软件开发环境中，每个Android开发者都需要更好的工具，帮助我们增强功能、提高效率。在这个竞争激烈的行业中，只有优秀的工程师能够生存，需要我们能够为客户提供的最佳技术和资源，需要有优秀的开发工具，保证以最佳质量以及高效时间来构建。1、自我介绍。自我介绍其实是个比较关键的过程，这基本上决定了后续环节将会问哪些问题以及初步给你的评分定位（作为无数候选人的面试官，这一点主观上个人也是如此认为）。]]></description><category></category></item><item><title><![CDATA[Android快速开发系列 10个常用工具类]]></title><link>https://blog.youkuaiyun.com/m0_48567424/article/details/145476797</link><guid>https://blog.youkuaiyun.com/m0_48567424/article/details/145476797</guid><author>m0_48567424</author><pubDate>Thu, 06 Feb 2025 16:25:39 +0800</pubDate><description><![CDATA[注意一点，里面所有的commit操作使用了SharedPreferencesCompat.apply进行了替代，目的是尽可能的使用apply代替commit。首先说下为什么，因为commit方法是同步的，并且我们很多时候的commit操作都是UI线程中，毕竟是IO操作，尽可能异步；对SharedPreference的使用做了建议的封装，对外公布出put，get，remove，clear等等方法；得到保存数据的方法，我们根据默认值得到保存的数据的具体类型，然后调用相对于的方法获取值。]]></description><category></category></item><item><title><![CDATA[转行学习Java，跟着我的步骤学，保准你拿下10k以上的工作]]></title><link>https://blog.youkuaiyun.com/m0_48567424/article/details/145395388</link><guid>https://blog.youkuaiyun.com/m0_48567424/article/details/145395388</guid><author>m0_48567424</author><pubDate>Wed, 29 Jan 2025 21:44:51 +0800</pubDate><description><![CDATA[学完以上知识后，利用这些基础知识写出两个项目进行练习，如果不练习项目就相当于白学，我当时是写了三个项目，一个ATM取款机项目、一个聊天室项目，一个图书管理系统项目，这都是阶段性的项目练习，基础非常重要，如果基础掌握得不好，后面的高级框架就没有办法听懂。如果我上述列举的学习内容大家找不到合适的教程，可以加这个Java学习群，前面796，中间866，后面257获取，里面会分享质量比较高的Java学习教程，也会定期的更新，我可以证明全是免费的，因为我当初就是看的这个教程学的，所以在这里我要分享给大家。]]></description><category></category></item><item><title><![CDATA[跨进程通讯Binder的onTransact方法一定在binder线程池的binder线程中执行吗？]]></title><link>https://blog.youkuaiyun.com/m0_48567424/article/details/145395349</link><guid>https://blog.youkuaiyun.com/m0_48567424/article/details/145395349</guid><author>m0_48567424</author><pubDate>Wed, 29 Jan 2025 21:40:37 +0800</pubDate><description><![CDATA[其实不然，我们要知道现在客户端的主线程是被挂起的，它没事干，闲人一个，在等待我们服务端的返回，我们在处理客户端的远程请求时，还要向客户端发起远程请求，所以默认的，服务端的Binder线程同样会被阻塞，等待客户端的结果返回，客户端也是得不到回复的，在这样的情况下，客户端的主线程会被用来处理这次远程通信的请求（即向服务端发起远程通信请求的所在线程)。如果我们在客户端的子线程，向服务端发送远程通信请求，那么客户端的子线程会被拿来处理服务端向客户端发起的远程请求，因为你没事干啊，闲人一个。return “你好”;]]></description><category></category></item><item><title><![CDATA[常用python编程软件有哪些，常用python编程软件下载]]></title><link>https://blog.youkuaiyun.com/m0_48567424/article/details/145391013</link><guid>https://blog.youkuaiyun.com/m0_48567424/article/details/145391013</guid><author>m0_48567424</author><pubDate>Wed, 29 Jan 2025 03:26:08 +0800</pubDate><description><![CDATA[PyCharm用于bai一般IDE具备的功能，比如， 调试、语法高亮、Project管理、du代码跳转、智能提示、自动完zhi成、单元测试、版本控制另外，PyCharm还提供了一些很好的功能用于Django开发，同时支持Google App Engine，更酷的是，PyCharm支持IronPython。其次是sublime text，Sublime Text 支持多种编程语言的语法高亮、拥有优秀的代码自动完成功能，还拥有代码片段(Snippet）的功能，可以将常用的代码片段保存起来，在需要时随时调用。]]></description><category></category></item><item><title><![CDATA[帮你解锁 Android 性能优化五大误区和两大疑点！]]></title><link>https://blog.youkuaiyun.com/m0_48567424/article/details/145391012</link><guid>https://blog.youkuaiyun.com/m0_48567424/article/details/145391012</guid><author>m0_48567424</author><pubDate>Wed, 29 Jan 2025 03:24:05 +0800</pubDate><description><![CDATA[直接使用 tc.foo 获取变量显然已经破坏了面向对象的封装性，而在性能方面，我们在配备 Android 10 的 Pixel 3 上使用 Jetpack Benchmark 对 tc.getFoo () 与 tc.foo 两个方法进行了基准测试，该库提供了预热代码的功能，最终的稳定测试结果如下：getter 方法的性能与直接 access 变量的性能也并没有多大差别，结果并不奇怪，因为 Android RunTime (ART) 内联了代码中所有的 getter 方法，因此，在 JIT 或 AOT 编译后]]></description><category></category></item><item><title><![CDATA[初试NodeJs开启websocket服务, 并获取客户端访问ip地址_node 开启websokect(1)]]></title><link>https://blog.youkuaiyun.com/m0_48567424/article/details/145388225</link><guid>https://blog.youkuaiyun.com/m0_48567424/article/details/145388225</guid><author>m0_48567424</author><pubDate>Tue, 28 Jan 2025 17:58:02 +0800</pubDate><description><![CDATA[WebSocket协议是在HTTP协议的基础上进行扩展的。在建立WebSocket连接时，客户端首先发送一个HTTP请求到服务器，并将Upgrade头部字段设置为"websocket"，表示希望升级到WebSocket协议。服务器接收到这个请求后，如果支持WebSocket协议，会返回一个状态码101 Switching Protocols的HTTP响应，并通过Upgrade头部字段将连接升级为WebSocket连接。]]></description><category></category></item><item><title><![CDATA[初识RabbitMq]]></title><link>https://blog.youkuaiyun.com/m0_48567424/article/details/145388219</link><guid>https://blog.youkuaiyun.com/m0_48567424/article/details/145388219</guid><author>m0_48567424</author><pubDate>Tue, 28 Jan 2025 17:56:00 +0800</pubDate><description><![CDATA[像这种排队结算就用到了消息队列机制，放入通道里面一个一个结算处理，而不是某个时间断突然涌入大批量的查询新增把数据库给搞宕机，所以RabbitMQ本质上起到的作用就是削峰填谷，为业务保驾护航。RabbitMQ是一个开源的消息代理和队列服务器，用来通过普通协议在完全不同的应用之间共享数据，RabbitMQ是使用Erlang语言来编写的，并且RabbitMQ是基于AMQP协议的。Body则就是消息体内容。是一个提供统一消息服务的应用层标准高级消息队列协议，是应用层协议的一个开放标准，为面向消息的中间件设计。]]></description><category></category></item><item><title><![CDATA[TypeScript语法]]></title><link>https://blog.youkuaiyun.com/m0_48567424/article/details/145385432</link><guid>https://blog.youkuaiyun.com/m0_48567424/article/details/145385432</guid><author>m0_48567424</author><pubDate>Tue, 28 Jan 2025 08:50:27 +0800</pubDate><description><![CDATA[我们来定义一个Person类：使用class关键字来定义一个类；我们可以声明一些类的属性：在类的内部声明类的属性以及对应的类型如果类型没有声明，那么它们默认是any的；我们也可以给属性设置初始化值；在默认的strictPropertyInitialization模式下面我们的属性是必须初始化的，如果没有初始化，那么编译时就会报错；如果我们在strictPropertyInitialization模式下确实不希望给属性初始化，可以使用 name!: string语法；]]></description><category></category></item><item><title><![CDATA[TypeScript中的基础数据类型_script中sentence]]></title><link>https://blog.youkuaiyun.com/m0_48567424/article/details/145385426</link><guid>https://blog.youkuaiyun.com/m0_48567424/article/details/145385426</guid><author>m0_48567424</author><pubDate>Tue, 28 Jan 2025 08:49:01 +0800</pubDate><description><![CDATA[和 JavaScript 一样，TypeScript 里的所有数字都是浮点数。有时候，我们会想要为那些在编程阶段还不清楚类型的变量指定一个类型。枚举类型提供的一个便利是你可以由枚举的值得到它的名字。类型是那些总是会抛出异常或根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型；元组类型允许表示一个已知元素数量和类型的数组，各元素的类型不必相同。类型是十分有用的，它允许你在编译时可选择地包含或移除类型检查。类型是任何类型的子类型，也可以赋值给任何类型；类型表示的是那些永不存在的值的类型。]]></description><category></category></item><item><title><![CDATA[Python数据分析学习三步曲]]></title><link>https://blog.youkuaiyun.com/m0_48567424/article/details/145343077</link><guid>https://blog.youkuaiyun.com/m0_48567424/article/details/145343077</guid><author>m0_48567424</author><pubDate>Fri, 24 Jan 2025 16:21:28 +0800</pubDate><description><![CDATA[在学习语言之前，，比如pycharm编译器，需要进入pycharm官网，进行下载，有Professional(专业版，收费)和Community(社区版，免费)，一般使用Community版本就可以。下载好以后进行安装配置，接着就是在这个编译器上开始文章似的语言编写，如果能正常运行，那么你的编译器就可以正常使用了。Python语法从最基础的输入输出，到各种python数据类型的使用，再到函数，类的定义和封装应用，包括第三方库的安装应用，每一个环节都需要稳扎稳打，]]></description><category></category></item><item><title><![CDATA[python eval函数——求解字符串表达式 算法实现思路]]></title><link>https://blog.youkuaiyun.com/m0_48567424/article/details/145332047</link><guid>https://blog.youkuaiyun.com/m0_48567424/article/details/145332047</guid><author>m0_48567424</author><pubDate>Fri, 24 Jan 2025 02:02:58 +0800</pubDate><description><![CDATA[当表达式不存在括号时，如"3+2*5-4/2"可使用单栈求解。我们遍历表达式，每遇到一个运算符就对运算符前面的数字进行相应操作。定义了一个栈，将消除乘除号后的数字添进栈中，最后使用sum方法将栈内元素求和得出最终结果。当遇到"+"号时，将符号前面的数字（称为num）压入栈中当遇到"-"号时，将（-num）压入栈中当遇到"*“号时，将栈顶元素与”*"号后面的数字相乘得出的结果赋值给栈顶元素当遇到"/“号时，将栈顶元素与”/"号后面的数字相除得出的结果赋值给栈顶元素可以看到“±”号性质相似，“*/”号性质相似，]]></description><category></category></item><item><title><![CDATA[MySQL约束和事务知识归纳。_mysql约束 锁]]></title><link>https://blog.youkuaiyun.com/m0_48567424/article/details/145331491</link><guid>https://blog.youkuaiyun.com/m0_48567424/article/details/145331491</guid><author>m0_48567424</author><pubDate>Fri, 24 Jan 2025 00:29:39 +0800</pubDate><description><![CDATA[约束用于确保数据库的数据满足特定的商业规则。在mysql中，约束包括: not null，unique, primary key, foreign key, 和 check 五种。]]></description><category></category></item><item><title><![CDATA[Linux中的端口大全_linux 主机端口]]></title><link>https://blog.youkuaiyun.com/m0_48567424/article/details/145330447</link><guid>https://blog.youkuaiyun.com/m0_48567424/article/details/145330447</guid><author>m0_48567424</author><pubDate>Thu, 23 Jan 2025 22:49:34 +0800</pubDate><description><![CDATA[用于远程命令执行的远程过程调用（RPC）协议，被网络文件系统（NFS）使用。通过传输控制协议（TCP）的 Appletalk 文件编制协议（AFP）用于协议独立的多址传播（PIM）服务的会合点发现（RP-DISC）网络外设管理协议（NPMP）GUI / 分布式排队系统（DQS）互联网缓存协议版本2（v2）；网络外设管理协议（NPMP）本地 / 分布式排队系统（DQS）无记录的远程 shell（rshell）和远程复制（rcp）良好隐私（PGP） / GNU 隐私卫士（GPG）公钥服务器。]]></description><category></category></item><item><title><![CDATA[JSON：fastjson、jackson、gson的选择之惑]]></title><link>https://blog.youkuaiyun.com/m0_48567424/article/details/145329557</link><guid>https://blog.youkuaiyun.com/m0_48567424/article/details/145329557</guid><author>m0_48567424</author><pubDate>Thu, 23 Jan 2025 21:29:18 +0800</pubDate><description><![CDATA[(@.price>6500)] | List：[{“name”:“iphone”,“price”:6000,“size”:60},{“name”:“watch”,“price”:8000,“size”:30}] | 根据条件筛选 || 2 | $.data.list[*].name | List：[“computer”,“iphone”,“watch”] | 获取全部value || 1 | $.data.list[0].name | String：computer | 获取单个value |]]></description><category></category></item><item><title><![CDATA[Java程序员不掌握SpringBoot怎么进大厂，阿里神仙级内部手册！]]></title><link>https://blog.youkuaiyun.com/m0_48567424/article/details/145328088</link><guid>https://blog.youkuaiyun.com/m0_48567424/article/details/145328088</guid><author>m0_48567424</author><pubDate>Thu, 23 Jan 2025 18:48:02 +0800</pubDate><description><![CDATA[相比于以往的一些开发框架，Spring Boot不但使用更加简单，而且功能更加丰富，性能更加稳定而健壮。使用Spring Boot开发框架，不仅能提高开发速度，增强生产效率，从某种意义上，可以说是解放了程序员的劳动，而且一种新技术的使用，更能增强系统的稳定性和扩展系统的性能指标。SpringBoot是在Spring框架基础上创建的一个全新框架，其设计目的是简化Spring应用的搭建和开发过程，它不但具有Spring的所有优秀特性，而且具有如下显著的特点。具有开箱即用的默认配置功能，能根据项目依赖自动配置。]]></description><category></category></item></channel></rss>