当前位置: 首页 > news >正文

济南做兼职网站php 网站部署后乱码

济南做兼职网站,php 网站部署后乱码,营销型企业网站的建设方案,企业建立网站需要提供什么编码优化 使用场景 如果需要拼接字符串#xff0c;优先使用StringBuffer和StringBuilder进行凭借#xff0c;他们的性能优于直接用加号进行拼接#xff0c;因为使用加号连接符会创建多余的对象一般情况下使用基本数据类来代替封装数据类型#xff08;比如int优于Integer优先使用StringBuffer和StringBuilder进行凭借他们的性能优于直接用加号进行拼接因为使用加号连接符会创建多余的对象一般情况下使用基本数据类来代替封装数据类型比如int优于Integer当返回一个String类型的数据时如果明确知道返回后的字符串用于进行拼接操作那么可以考虑返回StringBuffer因为StringBuffer是一个对象的引用而String的话就是创建了一个短生命周期的临时对象类似于第二条基本数据类型数组也优于对象数据类型数组a[]和b[]使用起来效率比c(a, b)[]高得多 静态优于抽象 当我们只想调用某个对象的某个方法去实现一个功能的时候可以将该方法设置为静态方法因为调用静态方法可以不用创建对象也可以使得调用速度提升。 class Utils {public static int add(int a, int b) {return a b;} }// 调用静态方法不需要创建 Utils 的对象 int result Utils.add(3, 5); 使用static和final修饰符 内存效率 static 关键字使变量成为类变量而不是实例变量。这样不管创建多少个类的实例常量在内存中只存在一份节省内存空间。 public class MyClass {public static final int MAX_VALUE 100; }不可变性 final 关键字使变量成为常量一旦赋值后不能改变。这确保了常量的值不会被意外修改从而提高了代码的安全性和可靠性。 public class MyClass {public static final int MAX_VALUE 100; }全局访问 static 使得常量可以通过类名直接访问无需创建类的实例方便全局使用。 int maxValue MyClass.MAX_VALUE;编译期常量 static final 常量在编译时就被确定因此在编译期可以进行优化比如内联在使用常量的地方直接替换为常量值。 public class MyClass {public static final int MAX_VALUE 100; } // 在其他地方使用时 int value MyClass.MAX_VALUE; // 编译时会直接替换为 100使用增强型for循环 有三个循环方式 static class Counter {int mCount; }Counter[] mArray ...public void zero() {int sum 0;for (int i 0; i mArray.length; i) {sum mArray[i].mCount;} }public void one() {int sum 0;Counter[] localArray mArray;int len localArray.length;for (int i 0; i len; i) {sum localArray[i].mCount;} }public void two() {int sum 0;for (Counter a : mArray) {sum a.mCount;} }首先zero()方法是最慢的一种因为循环的判断条件为 i mArray.length 也就是说在每一层循环进行判断时都要重新计算一遍mArray的长度 其次one()方法相对第一种就快了很多它直接在循环前就用len保存了长度不用每层遍历都再计算一遍 two()方法在没有JITJust In Time Compiler的设备上是运行最快的而在有JIT的设备上运行效率和one()方法不相上下 “JIT” 指的是 “Just-In-Time” 编译它是一种动态编译技术用于提高 Java 程序的执行效率。JIT 编译器在 Java 虚拟机JVM运行时将字节码编译成本地机器码从而加快程序的执行速度。 JIT 编译的工作原理 解释执行 初始阶段Java 程序的字节码由 JVM 的解释器逐行解释执行。解释执行通常较慢但不需要编译阶段的开销。 热点代码检测 JVM 会监控代码的执行情况识别那些频繁执行的代码段这些代码段被称为“热点代码”。 编译为机器码 一旦某段代码被识别为热点代码JIT 编译器会将这段字节码编译成机器码生成本地可执行代码从而提高运行速度。 优化 JIT 编译器还会对热点代码进行各种优化如内联、循环展开、常量折叠等以进一步提高性能。 缓存和重用 编译后的机器码会被缓存以便后续的调用可以直接使用这些优化后的代码避免重复编译。 使用封装好的API Java语言当中其实给我们提供了非常丰富的API接口我们如果能使用系统提供的API就尽量使用因为系统的API基本上比我们自己写的代码要快得多它们的很多功能都是通过底层的汇编模式执行的。 避免在内部调用Getters/Setters方法 下面一个例子 public class Calculate {private int one 1;private int two 2;public int getOne() {return one;}public int getTwo() {return two;}public int getSum() {return getOne() getTwo();} }就属于在内部调用getters/setters方法 但其实我们在类的内部可以直接使用类中的封装字段 public int getSum() {return one two; }布局优化 重用布局文件 include的使用 目前几乎所有的软件都会有一个头布局这个头布局是在所有界面都要使用但是如果在每个界面都写一次那就太麻烦了我们可以新建一个布局专门表示头布局当其他界面要使用的时候直接使用include调用就可以了 假设我们随便建了一个头布局 ?xml version1.0 encodingutf-8? LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationverticalandroid:padding16dpandroid:background#EEEEEEButtonandroid:layout_widthwrap_contentandroid:layout_heightwrap_content /TextViewandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:layout_gravitycenterandroid:layout_marginStart8dpandroid:textHaHaandroid:textColor#00ddddandroid:textSize20sp / /LinearLayout 当我们在其他界面要使用的时候就可以直接调用 ?xml version1.0 encodingutf-8? LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentinclude layoutlayout/header//LinearLayout但是如果我们本来的界面中还有别的东西我们在引入header后所有的东西都有可能被覆盖出现这个问题是原因是因为header的最外层布局是一个宽高都是match_parent的LinearLayout我们可以将LinearLayout的layout_height属性修改成wrap_content就可以了但是这种操作会影响header的界面如何你只希望让activity_main.xml这一个界面受影响的话那么可以使用覆写include属性的方式 merge的使用 merge 是 Android 布局文件中的一个特殊标签用于优化布局结构。它的主要目的是减少布局层级使布局文件更加高效。merge 标签不会创建一个新的视图层级而是将其子视图直接合并到包含它的布局中。 使用 merge 标签的场景 优化布局层级 当你有一个布局文件如包含多个子视图的布局需要嵌套在其他布局中时使用 merge 标签可以避免多余的布局层级从而提高渲染性能。 简化布局结构 避免不必要的嵌套布局减少布局的复杂度和绘制开销。 假设有一个复杂的布局 LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationverticalLinearLayoutandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:orientationhorizontalTextViewandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:textHello /Buttonandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:textClick Me //LinearLayout!-- 其他视图 -- /LinearLayout 这个布局的嵌套关系如图 可以使用merge对布局进行优化 LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationverticalincludelayoutlayout/optimized_sub_layout /!-- 其他视图 -- /LinearLayout在 optimized_sub_layout.xml 中使用 merge 标签 !-- res/layout/optimized_sub_layout.xml -- merge xmlns:androidhttp://schemas.android.com/apk/res/androidTextViewandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:textHello /Buttonandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:textClick Me / /merge 优化后布局变成了 参考博客Android最佳性能实践(三)——高性能编码优化_android 硬编码 节省码率-CSDN博客 Android最佳性能实践(四)——布局优化技巧_android中对布局进行优化-CSDN博客 已经到底啦
http://www.dnsts.com.cn/news/67719.html

相关文章:

  • 自己做的网站如何上线ssh私钥 Wordpress
  • 自己做电商网站营销型网站知识
  • 设计参考网站推荐聊城做网站的网络公司
  • 手机网站 代码格式廊坊哪里有做网站建设的
  • 做网站框架可用jpg图吗wordpress为什么那么卡
  • 建设网站e护航下载网站建设 淘宝运营
  • 青白江建设网站苏州比较大的设计公司
  • dede手机wap网站模板建设网站的目的和意义是什么
  • 荆门公司做网站葫芦岛网站制作
  • 网站备案被注销怎么办wordpress 反爬虫
  • 网站安全优化济南网站建设在哪里
  • 网页设计与网站开发教程哈尔滨模板建站新报价
  • 山西网站建设公司哪家好移动网站cms
  • 网站建设论文500字网站规划与设计教案
  • 网站底部关键词指向网站图片怎么替换
  • 建立网站后怎么维护网站制作便宜
  • 网站建设预付自定义表情在线制作
  • 长春手机网站诸葛建站官网
  • 站长之家psd企业人力资源管理师报名入口官网
  • 洛阳网站推广优化用啥网站做首页
  • 做泥软件下载官方网站广州楼市最新消息
  • 网站更改外贸论坛找客户
  • 民营建筑网站怎么样学好网页设计
  • 网站做推广企业西安建设局网站小孩把
  • 小程序网站开发公司asp网站生成
  • vs做网站怎样加数据库网站开发定制多少钱
  • 网站定制网站后台用户名密码
  • 宁波网站推广方式定制公司厦门正规网站建设多少
  • 网站开发系统流程图wordpress 移动端 主题
  • 沈阳网站开发培训价格如何在公众号里做网站