环信即时通讯云

环信即时通讯云

单聊、群聊、聊天室...
环信开发文档

环信开发文档

环信客服云

环信客服云

无需下载,注册即用
声网开发者社区

声网开发者社区

汇聚音视频领域技术干货,分享行业资讯
技术讨论区

技术讨论区

技术交流、答疑
资源下载

资源下载

收集了海量宝藏开发资源
iOS Library

iOS Library

不需要辛辛苦苦的去找轮子, 这里都有
Android Library

Android Library

不需要辛辛苦苦的去找轮子, 这里都有
0
评论

FastKV:一个真的很快的KV存储组件 FastKV

Android Library王二蛋和他的张大花 发表了文章 • 72 次浏览 • 2021-10-15 09:33 • 来自相关话题

一、前言 KV存储无论对于客户端还是服务端都是重要的构件。 对于Android客户端而言,最常见的莫过于SDK提供的SharePreferences(以下简称SP),但其低效率和ANR问题饱受诟病。 后来官方又推出了基于Kotlin的DataStore, 其中... ...查看全部
0
评论

移动端网络监控实践 网络监控

技术精选王二蛋和他的张大花 发表了文章 • 50 次浏览 • 2021-10-15 09:32 • 来自相关话题

1. 背景介绍 在移动端应用开发场景下,不可避免的要与网络打交道。有时在网络请求失败时,我们想知道网络的质量;有时需要明确的告知用户当前网络质量(比如游戏场景实时显示延迟)。网络监控离不开最经典的TCP/IP模型,基于模型分层统计网络耗时有助于我们更清晰的了解... ...查看全部
0
评论

MVVM + RxAndroid + RxView + DataBinding + LiveData + LiveEventBus + Retrofit 架构

技术精选王二蛋和他的张大花 发表了文章 • 57 次浏览 • 2021-10-15 09:31 • 来自相关话题

前言 本来想记录一下最近相机相关的知识点的,但发现需要时间整理一下,那这里就介绍一下最近写的直播app中使用的整体架构吧。 由于之前项目大多是用MVC,MVP的整体架构,所以这次一个人写直播项目时就干脆用MVVM进行开发(sunflower的架构让我很馋) 简... ...查看全部
0
评论

Android Runtime (ART) 和 Dalvik 小知识,大挑战! Dalvik

技术精选王二蛋和他的张大花 发表了文章 • 76 次浏览 • 2021-10-15 09:29 • 来自相关话题

1. Dalvik Dalvik是Google公司自己设计用于Android平台的虚拟机。它可以支持已转换为 .dex(即Dalvik Executable)格式的Java应用程序的运行,.dex 格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度... ...查看全部
0
评论

优雅的使用注释 性能优化 前端面试

Web开发马师傅 发表了文章 • 64 次浏览 • 2021-10-14 22:52 • 来自相关话题

代码千万行,注释第一行。 代码不规范,同事泪两行。 前言 注释相信小伙伴们都不陌生,但是就是这个小小的注释就像项目文档一样让许多小伙伴又爱又恨。不喜欢写注释,又讨厌别人不写注释。在此我们将讨论 JavaScript 和 CSS 的注释,希望通过这篇文章,让你... ...查看全部
0
评论

技术总结 | 前端萌新现在上车Docker,还来得及么? 前端面试 Docker

Web开发马师傅 发表了文章 • 159 次浏览 • 2021-10-14 22:48 • 来自相关话题

序言 作为一名爱学习的前端攻城狮,在当下疯狂内卷的大环境🐱, 不卷一卷Docker是不是有点说不过去,再加上现在我司前端部署项目大部分都是Docker,所以现在赶紧上车, 跟着Up主来look look,欢迎有big old指正 Q:你能说一下你怎么看待Do... ...查看全部
0
评论

实现无感刷新token,我是这样做的 性能优化 前端面试

Web开发马师傅 发表了文章 • 66 次浏览 • 2021-10-14 22:43 • 来自相关话题

前言 最近在做需求的时候,涉及到登录token,产品提出一个问题:能不能让token过期时间长一点,我频繁的要去登录。 前端:后端,你能不能把token 过期时间设置的长一点。 后端:可以,但是那样做不安全,你可以用更好的方法。 前端:什么方法? 后端:给你... ...查看全部
1
回复

打开旧项目发现找不到import com.hyphenate.chat.EMClient; 环信_Android

Android开发转角45°、嫣然一笑 回复了问题 • 2 人关注 • 81 次浏览 • 2021-10-14 12:05 • 来自相关话题

0
评论

Android 热修复核心原理,ClassLoader类加载 ClassLoader Android

技术精选柳天明 发表了文章 • 45 次浏览 • 2021-10-14 11:34 • 来自相关话题

Android 热修复核心原理,ClassLoader类加载[TOC]Android前沿技术探讨:ClassLoader在热修复中的应用又在写bug?这句话虽然是句玩笑话,但是也正因为我们是人不是神,但也不能面面俱到,什么都考虑完美,出现bug是不可避免的。那... ...查看全部
0
评论

分析应用程序启动 性能优化 Android

技术精选柳天明 发表了文章 • 70 次浏览 • 2021-10-14 11:33 • 来自相关话题

一旦我们建立了触发应用程序缓慢启动的指标和场景,下一步就是提高性能。要了解是什么导致应用程序启动缓慢,我们需要对其进行分析。 Android Studio 提供了几种类型的分析器录制配置:Trace System Calls(又名 systrace、perfe... ...查看全部
0
评论

adb 如何衡量应用启动 启动耗时 Android

技术精选柳天明 发表了文章 • 74 次浏览 • 2021-10-14 11:32 • 来自相关话题

可以利用 ActivityTaskManager 的输出来获取应用程序启动持续时间。每当 Activity 启动时,都会在 logcat 输出中看到类似的内容:ActivityTaskManager: Displayed com.android.samples... ...查看全部
0
评论

Android入门教程 | Fragment 基础概念 fragment Android

技术精选柳天明 发表了文章 • 69 次浏览 • 2021-10-14 11:32 • 来自相关话题

什么是Fragment?Fragment,直译为“碎片”,“片段”。 Fragment 表示 FragmentActivity 中的行为或界面的一部分。可以在一个 Activity 中组合多个片段,从而构建多窗格界面,并在多个 Activity 中重复使用某个... ...查看全部
0
评论

Android 点击响应时间 View绘制 Android

技术精选柳天明 发表了文章 • 93 次浏览 • 2021-10-14 11:31 • 来自相关话题

Android 用户希望应用能够在短时间内响应他们的操作。UX 研究告诉我们,响应时间短于 100 毫秒会让人感觉立竿见影,而超过 1 秒的响应时间会让用户失去注意力。 当响应时间接近 10 秒时,用户只需放弃他们的任务。测量用户操作响应时间对于确保良好的用户... ...查看全部
0
评论

iOS swiftUI 视图动画和转场 1.1 SwiftUI

iOS开发雨淋湿了天空 发表了文章 • 51 次浏览 • 2021-10-14 11:25 • 来自相关话题

第二节 把视图的状态改态转化成动画效果已经学会了给单个视图添加动画的方法,现在可以学习怎么在视图的状态发生改变时添加动画效果。当用户点击按钮时会切换showDetail状态的值,在视图变化过程中添加动画效果。步骤1 把showDetail.toggl... ...查看全部
0
评论

iOS SwiftUI 视图动画和转场 SwiftUI

iOS开发雨淋湿了天空 发表了文章 • 49 次浏览 • 2021-10-14 11:24 • 来自相关话题

视图动画和转场使用SwiftUI可以把视图状态的改变转成动画过程,SwiftUI会处理所有复杂的动画细节在这篇中,会给跟踪用户徒步的图表视图添加动画。使用animation(_:)修改器给一个视图添加动画效果非常容易下载起步项目并跟着本篇教程一步步实践,或者查... ...查看全部
0
评论

iOS SwiftUI 创建和组合视图 4.2 SwiftUI

iOS开发雨淋湿了天空 发表了文章 • 55 次浏览 • 2021-10-14 11:23 • 来自相关话题

第三节 绘制徽章符号地标徽章中心有一个以地标App图标中的山峰图形改造形成的标志。山峰这个符号由两个形状组成,一个是表示山顶被雪覆盖的部分,另一个是山体。这里会使用有一定间距的两个局部三角形形状绘制这个徽章符号步骤1 把之前的徽章视图形状抽出来单独形... ...查看全部
0
评论

iOS SwiftUI 创建和组合视图 4.1 SwiftUI

iOS开发雨淋湿了天空 发表了文章 • 44 次浏览 • 2021-10-14 11:23 • 来自相关话题

绘制和动画学习绘制形状和路径,并创建徽章和添加动画包含章节绘制路径和形状视图动画和转场绘制路径和形状用户在浏览完一个地标后会得到一个徽章。但用户要得到徽章首先要先要创建一个徽章。本篇教程就是使用路径和形状创建徽章的过程,创建的徽章可以和其它图形组合形成位置标志... ...查看全部
0
评论

学不好Lambda,能学好Kotlin吗 Lambda kotlin

技术精选王二蛋和他的张大花 发表了文章 • 53 次浏览 • 2021-10-14 09:49 • 来自相关话题

嗯,当然 不能 进入正题,Kotlin中,高阶函数的身影无处不在,听上去高端大气上档次的高阶函数,简化一点讲,其实就是Lambda + 函数。 如果,Lambda学不好,就会导致高阶函数学不好,就会导致协程等等一系列的Kotlin核心学不好,Kotlin自然就... ...查看全部
0
评论

Flutter开发·Stream的理解与简单使用 stream

技术精选王二蛋和他的张大花 发表了文章 • 47 次浏览 • 2021-10-14 09:47 • 来自相关话题

介绍 Stream和Future都是在Flutter中常用来处理异步事件的对象,与Future只能处理单次异步操作不同的是,Stream具有多次响应异步事件监听的功能,是一系列异步事件的序列。 分类 Stream从订阅模式上分可以分为两类,一个是单订阅模式,另... ...查看全部
0
评论

Flutter输入框获取剪切板-合规问题踩坑 Flutter

技术精选王二蛋和他的张大花 发表了文章 • 71 次浏览 • 2021-10-14 09:46 • 来自相关话题

前言:公司法务部检测出Flutter开发的App存在未同意隐私协议先获取系统剪切板数据的问题,要求整改。经过一系列调试后,定位到原来是Flutter输入框的坑,只要使用到输入框,就会先获取下剪切板数据。还没有属性可以关闭,着实踩坑,以下记录分享给大家,希望能稳... ...查看全部
0
评论

【辨析】Compose 完全脱离 View 系统了吗? compose

技术精选王二蛋和他的张大花 发表了文章 • 105 次浏览 • 2021-10-14 09:45 • 来自相关话题

前言 Compose正式发布1.0已经相当一段时间了,但相信很多同学对Compose还是有很多迷惑的地方 Compose跟原生的View到底是什么关系?是跟Flutter一样完全基于Skia引擎渲染,还是说还是View的那老一套? 相信很多同学都会有下面的疑问... ...查看全部
0
评论

Android 程序崩溃之快速锁定! 崩溃

技术精选王二蛋和他的张大花 发表了文章 • 65 次浏览 • 2021-10-14 09:43 • 来自相关话题

前言 从刚开始接触Android开发,第一次发版,遇到程序崩溃,那就一个慌张。好几年过去了,现在的听到程序崩溃?嗯,稍等我看看什么问题,然后该锁定该锁定该解决解决。 发版前减少bug、崩溃等,发版后遇到bug、崩溃也不要慌张,毕竟 bug不 会因为你的慌张而自... ...查看全部
0
评论

JavaScript之彻底理解原型与原型链 Javascript 前端面试

Web开发马师傅 发表了文章 • 48 次浏览 • 2021-10-13 21:18 • 来自相关话题

前言 原型与原型链知识历来都是面试中考察的重点,说难不算太难,但要完全理解还是得下一定的功夫。先来看一道面试题开开胃口吧: function User() {} User.prototype.sayHello = function() {} var u1 = ... ...查看全部
0
评论

18 个杀手级 JavaScript 单行代码 前端面试 Javascript

Web开发马师傅 发表了文章 • 50 次浏览 • 2021-10-13 21:16 • 来自相关话题

1、复制到剪贴板 使用 navigator.clipboard.writeText 轻松将任何文本复制到剪贴板。 const copyToClipboard = (text) => navigator.clipboard.writeText(text);... ...查看全部
0
评论

抛弃Vue转入React的六个月,我收获了什么? react 前端面试

Web开发马师傅 发表了文章 • 48 次浏览 • 2021-10-13 21:10 • 来自相关话题

对不起,我抛弃了Vue,转入React阵营。不因为其它,就因为在我这边使用React的工资比使用Vue的工资高。 在六月前,我硬背了几百道的React面试题,入职一家使用React的公司,薪资增幅120%; 入职就马上进入开发阶段,完全是从零开始,随着时间的推... ...查看全部
0
评论

转动的CSS“loading”,全都是技巧! CSS3

Web开发马师傅 发表了文章 • 51 次浏览 • 2021-10-13 21:06 • 来自相关话题

loader-1 这应该是最简单的CSS加载了。在圆圈上有一个红色的圆弧,仔细观察会发现,这个圆弧正好是1/4. 实现逻辑: 一个宽高相等容器,设定border为白色。然后给底边bottom设置红色, 当设定border-radius是50%,那他正好可以... ...查看全部
0
评论

Java 内存模型 内存模型 Android

技术精选柳天明 发表了文章 • 62 次浏览 • 2021-10-13 14:44 • 来自相关话题

运行时的数据区(Runtime Data Area)本文主要看 JVM 内存模型主要指运行时的数据区,包括 5 个部分,如下图所示。虚拟机栈:也叫方法栈,是线程私有的,线程在执行每个方法时,JVM 都会在虚拟机栈中创建一个栈帧,用来存储局部变量表、操作栈、动态... ...查看全部
0
评论

Java 类加载器 源码 Android

技术精选柳天明 发表了文章 • 56 次浏览 • 2021-10-13 14:44 • 来自相关话题

类加载器 ClassLoader。在Java 内存模型我们介绍了 Java 字节码文件(.class)的格式。一个完整的 Java 程序是由多个 .class 文件组成的,在程序运行过程中,需要将这些 .class 文件加载到 JVM 中才可以使用。而负责加载... ...查看全部
0
评论

Java 垃圾回收(GC) 虚拟机 Android

技术精选柳天明 发表了文章 • 60 次浏览 • 2021-10-13 14:43 • 来自相关话题

前言垃圾回收(Garbage Collection,简写为 GC)可能是虚拟机众多知识点中最为大众所熟知的一个了,也是Java开发者最关注的一块知识点。Java 语言开发者比 C 语言开发者幸福的地方就在于,我们不需要手动释放对象的内存,JVM 中的垃圾回收器... ...查看全部
0
评论

Java多线程5 Callable、Future 和FutureTask 多线程 Android

技术精选柳天明 发表了文章 • 63 次浏览 • 2021-10-13 14:42 • 来自相关话题

前言创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。而自从Ja... ...查看全部
0
评论

Java虚拟机系列五:android虚拟机 虚拟机 Android

技术精选柳天明 发表了文章 • 70 次浏览 • 2021-10-13 14:42 • 来自相关话题

一.android虚拟机与hotspot虚拟机的区别android虚拟机非标准jvm实现存储和执行dex文件采用基于寄存器的指令集指令长度为2,4,6个字节,执行指令效率高,移植性差,依赖于平台hotspot虚拟机标准jvm实现存储和执行class文件采用基于... ...查看全部
0
评论

iOS SwiftUI 创建和组合视图 3.1 SwiftUI

iOS开发雨淋湿了天空 发表了文章 • 56 次浏览 • 2021-10-13 10:14 • 来自相关话题

第四节 使用可观察对象来存储数据要实现用户标记哪个地标为自己喜爱的地标这个功能,需要使用可观察对象(observalble object)存放地标数据可观察对象是一种可以绑定到具体SwifUI视图环境中的数据对象。SwiftUI可以察觉它影响视图展示的任何变化... ...查看全部
0
评论

iOS SwiftUI 创建和组合视图 3.0 SwiftUI

iOS开发雨淋湿了天空 发表了文章 • 67 次浏览 • 2021-10-13 10:13 • 来自相关话题

处理用户输入在Landmark应用中,标记喜爱的地方,过滤地标列表,只显示喜欢的地标。要增加这些特性,首先要在列表上添加一个开关,用来过滤用户喜欢的地标。在地标上添加一个星标按钮,用户可以点击它来标记这个地标为自己喜欢的。下载工程文件并且跟着下面的教程实践&n... ...查看全部
0
评论

iOS SwiftUI 创建和组合视图 2.2 SwiftUI

iOS开发雨淋湿了天空 发表了文章 • 66 次浏览 • 2021-10-13 10:08 • 来自相关话题

第七节 子视图传入数据LandmarkDetail视图目前还是使用写死的数据进行展示,与LandmarkRow视图一样,LandmarkDetail视图及它内部的子视图也需要传入landmark数据,并使用它来进行实际的展示从LandmarkDetail的子视... ...查看全部
0
评论

iOS SwiftUI 创建和组合视图 2.1 SwiftUI

iOS开发雨淋湿了天空 发表了文章 • 57 次浏览 • 2021-10-13 10:07 • 来自相关话题

第四节 创建地标列表使用SwiftUI列表类型可以展示平台相关的列表视图。列表的元素可以是静态的,类似于栈内部的子视图,也可以是动态生成的视图,也可以混合动态和静态的视图。步骤1 创建SwiftUI视图,命名为LandmarkList.swift步骤... ...查看全部
0
评论

有了for循环 为什么还要forEach? Javascript

Web开发马师傅 发表了文章 • 74 次浏览 • 2021-10-12 23:50 • 来自相关话题

js中那么多循环,for for...in for...of forEach,有些循环感觉上是大同小异今天我们讨论下for循环和forEach的差异。 我们从几个维度展开讨论:for循环和forEach的本质区别。for循环和forEach的语法区别。for循... ...查看全部
0
评论

如何在你的项目中使用新的ES规范 Javascript

Web开发马师傅 发表了文章 • 59 次浏览 • 2021-10-12 23:47 • 来自相关话题

JavaScript 和 ECMAScript 的关系 JavaScript 是一种高级的、编译型的编程语言。而 ECMAScript 是一种规范。 JavaScript 是基于 ECMAScript 规范的脚本语言。ECMAScript(以下简称 ES)在 ... ...查看全部
0
评论

Vue 3 凉凉了吗 - 10 个灵魂拷问 vue

Web开发马师傅 发表了文章 • 55 次浏览 • 2021-10-12 23:45 • 来自相关话题

很多人问我,现在可以用 Vue 3 了吗,Vue 2升级成本高吗,我想借着早早聊的场子把大家经常问的问题,跟大家谈一谈我的看法,我会尽量公平公正,客观正向,但尽然是看法,难免会有一些有争议的地方,或者不认可的地方,你可以留言。我总结了 10 个问题,期望能帮助... ...查看全部
0
评论

Android Jetpack系列之ViewModel jetpack ViewModel Android

技术精选柳天明 发表了文章 • 60 次浏览 • 2021-10-12 16:04 • 来自相关话题

ViewModel介绍ViewModel的定义:ViewModel旨在以注重生命周期的方式存储和管理界面相关的数据。ViewModel本质上是视图(View)与数据(Model)之间的桥梁,想想以前的MVC模式,视图和数据都会写在Activity/Fragme... ...查看全部
0
评论

Android内存泄露检测之LeakCanary的使用(转) leakCanary Android

技术精选柳天明 发表了文章 • 54 次浏览 • 2021-10-12 16:03 • 来自相关话题

LeakCanary github地址:square.github.io/leakcanary/开始使用目前为止最新的版本是2.3版本,相比于2.0之前的版本,2.0之后的版本在使用上简洁了很多,只需要在dependencies中加入LeakCanary的依赖... ...查看全部
0
评论

❤️ Android 源码解读-startActivity(含启动新应用)❤️ 源码阅读 Android

技术精选柳天明 发表了文章 • 75 次浏览 • 2021-10-12 16:02 • 来自相关话题

开局一张图源码版本:Android 11(SDK 30)涉及到的类Instrumentation:负责 Application 和 Activity 的建立和生命周期控制。ActivityTaskManager:此类提供... ...查看全部
0
评论

【奇淫技巧】解锁X5内核WebView同层渲染能力 webview x5 Android

技术精选柳天明 发表了文章 • 63 次浏览 • 2021-10-12 16:01 • 来自相关话题

前言WebView同层渲染,并不是一个新技术,国内一线互联网产品广泛应用,比如小程序的原生组件,电商H5嵌原生播放器等场景;如果您了解其原理,会发现这玩意在Android端,需要修改浏览器内核才能搞定,所以上手难度高;以至于读完文章,心血澎湃直呼牛逼,但是回过... ...查看全部
0
评论

Android Activity/Window/View 的background background Android

技术精选柳天明 发表了文章 • 63 次浏览 • 2021-10-12 15:59 • 来自相关话题

前言Activity/Window/View 的background,平时接触最多的就是View的background,Activity的background次之,最后用的较少的是Window的background,这三者有什么关联、区别呢?通过本篇文章,你将... ...查看全部
0
评论

iOS SwiftUI 创建和组合视图 2.0 SwiftUI

iOS开发雨淋湿了天空 发表了文章 • 57 次浏览 • 2021-10-12 10:15 • 来自相关话题

创建列表和导航地标详情页视图已经创建完成,我们需要提供一种方式让用户可以查看完整的地标列表,并且可以查看每一个地标的详情下面会创建一个可以展示任何地标信息的视图,并动态生成一个可滚动列表,用户可以点击列表项去查看地标的详细信息。优化视图显示时,可以使用Xcod... ...查看全部
0
评论

iOS SwiftUI 创建和组合视图 1.3 SwiftUI

iOS开发雨淋湿了天空 发表了文章 • 45 次浏览 • 2021-10-12 10:15 • 来自相关话题

第六节 组合地标详情页前面我们创建了个地标详情页所需要的各种子视图元素:名称、地点、圆形图片以及位置地图,现在可以把这些视图元素组合在一起形成地标详情页的整个视图在项目工程浏览器中选择ContentView.swift文件body属性中嵌入一个VStack视图... ...查看全部
0
评论

iOS SwiftUI 创建和组合视图 1.2 SwiftUI

iOS开发雨淋湿了天空 发表了文章 • 50 次浏览 • 2021-10-12 10:14 • 来自相关话题

第四节 创建自定义图像视图(Image)有了地标名称、地标位置及状态视图,下一步再添加一个地标图片视图。这个图片视图将自定义遮罩(mask)、边框(border)和阴影(shadow)从控件加中拖一个Image到画布,或直接写代码到代码编辑器中步骤1 ... ...查看全部
0
评论

iOS SwiftUI 创建和组合视图 1.1 SwiftUI

iOS开发雨淋湿了天空 发表了文章 • 54 次浏览 • 2021-10-12 10:13 • 来自相关话题

第三节 使用栈来组合视图上一节创建了标题视图,接下来要添加一些文本视图来描述地标所在州及所在公园的名称等其它详细信息创建SwiftUI视图就是在body属性中描述视图的内容、布局及行为,但body属性只返回单个视图,这时组合多个视图时可以把它们放入一个栈中,通... ...查看全部
0
评论

❤️Android 安装包体积优化❤️ 优化

技术精选王二蛋和他的张大花 发表了文章 • 47 次浏览 • 2021-10-12 09:46 • 来自相关话题

介绍 实际开发应用时,包体积优化是必不可少的。毕竟手机内存有限,如果包体积过大很多用户会直接放弃(以前手机内存很小的时候,这个真的很重要),现在由于手机内存大了(512G已经挡不住了),现在的用户更关注流畅度和美观作为参考,但是该有的优化还是要优化的,毕竟要尽... ...查看全部
0
评论

重新理解为什么 Handler 可能导致内存泄露? handler

技术精选王二蛋和他的张大花 发表了文章 • 50 次浏览 • 2021-10-12 09:44 • 来自相关话题

总说 Handler 使用不当会导致内存泄露,真正的原因到底是什么? 网上千篇一律的答案貌似没有说到点子上,本文带你重新理解个中细节! 什么是 Handler 使用不当? 先搞清楚什么叫 Handler 使用不当? 一般具备这么几个特征: Handler 采... ...查看全部
0
评论

Kotlin开发中的一些Tips kotlin

技术精选王二蛋和他的张大花 发表了文章 • 45 次浏览 • 2021-10-12 09:42 • 来自相关话题

如果你开始使用Kotlin,我个人的建议是多关注编译后字节码或是反编译后的java代码,这样你会发现更多的细节。单纯只学习语法会让你忽略一些细节,而这可能会是性能问题或bug的来源。 下面我举一些我在使用中碰到的问题,看能否给你启发,想到哪就写到哪了。本篇内容... ...查看全部