- uni-app中使用RenderJs 使用原生js
qq_41942913
javascriptuni-app前端
RenderJs运行的层叫【视图层】,Uniapp原生Script叫【逻辑层】,逻辑层要调用视图层需要使用一个叫【watcher】,具体怎么调用呢为了实现这两层之间的通信,uniapp提供了一些特定的机制。以下是对这些通信机制的详细解释,以及一个具体的示例,说明逻辑层如何调用视图层的watcher。通信机制通过this.$ownerInstance获取当前组件的ComponentDescript
- WMS层级修改与原理简单分析
一只刘小彤!
android
记录一个WMS的问题,如何修改或者添加一个WMS的层级WindowState(WindowManagerServiceservice,Sessions,IWindowc,WindowTokentoken,WindowStateparentWindow,intappOp,WindowManager.LayoutParamsa,intviewVisibility,intownerId,intshowU
- Java iText 编辑PDF时常遇到问题
zhulangfly
Javajavapdf开发语言
1.java.lang.IllegalArgumentException:PdfReadernotopenedwithownerpasswordiTextPdfReade读取PDF文件时,由于PDF设置了权限(用浏览器打开该PDF文件如下图所示),导致需要提供密码,如何解决呢,对于不同版本的Itext有不同的处理方案,请参照代码:PdfReader.unethicalreading=true;//
- Python训练营打卡DAY5
LiShopping
Python打卡训练营内容python开发语言
离散特征的独热编码读取数据importpandasaspddata=pd.read_csv(r"data.scv")找到所有离散特征data.columnsfordiscrete_featuresindata.columns:ifdata[discrete_features].dtype==object:print(discrete_features)对HomeOwnership列进行独热编码da
- Django DRF实现用户数据权限控制
八九燕来
djangopython后端
在DjangoDRF中使用ModelViewSet时,若需实现用户仅能查看和操作自己的数据详情,同时允许所有认证用户访问列表,需结合权限类和动态权限分配。以下是具体步骤:1.自定义对象权限类创建一个IsOwner权限类,检查请求用户是否为对象所有者:pythonfromrest_frameworkimportpermissionsclassIsOwner(permissions.BasePermi
- Java并发编程之Wait/Notify
Johnny Lnex
Java并发编程java开发语言
一、Monitor对象的核心结构每个Java对象都关联一个Monitor对象,其核心字段包括:owner:指向当前持有锁的线程。EntryList:存放竞争锁的线程队列(阻塞状态)。WaitSet:存放调用wait()后释放锁的线程队列(等待状态)。二、wait()和notify()的执行逻辑1.wait()方法的作用释放锁:当前线程释放对象的Monitor锁。进入等待队列:线程被放入对象的Wai
- YashanDB CHECK_SYS_PRIVILEGE函数
数据库
CHECK_SYS_PRIVILEGE函数检测登陆用户是否拥有对某用户下某种类型对象的可访问类系统级权限,返回值为BOOLEAN类型。本函数不支持向量化计算。当检测表类型对象的权限时,如用户拥有SELECTANYTABLE、INSERTANYTABLE、UPDATEANYTABLE、DELETEANYTABLE中任一项权限时,函数返回TURE,否则返回FALSE。user_id对象所属OWNER用
- 使用Lake Formation构建数据网格架构GenAI
taibaili2023
AWS
使用LakeFormation构建数据网格架构GenAI关键字:[yt,LakeFormation,DataMeshArchitecture,DataLakeFormation,DataProductOwnership,FederatedDataGovernance,Domain-OrientedDecentralization]本文字数:1900,阅读完需:10分钟导读在这场演讲中,演讲者们探讨
- 前端性能优化:所有权转移
墨雪遗痕
性能优化JavaScript前端性能优化
前端性能优化:所有权转移在学习rust过程中,学到了所有权概念,于是便联想到了前端,前端是否有相关内容,于是进行了一些实验,并整理了这些内容。所有权转移(TransferofOwnership)是前端开发中通过postMessageAPI高效传递数据的机制,将可转移对象(TransferableObjects)的控制权从一个上下文(如主线程、iframe、WebWorker)移交到另一个上下文,避
- uniapp APP端页面转为PDF
L.路
javascript前端vue.jsuniapp
点击事件@click="canvasImage.save"//安装依赖npminstall--savehtml2canvasnpminstalljspdf--saveimporthtml2Canvasfrom'html2canvas'import{jsPDF}from'jspdf'exportdefault{methods:{//生成图片需要调用的方法generateImage(e,ownerFu
- C++11&QT复习 (七)
嘤国大力士
QT_C++c++qtjava
智能指针雏形**Day7-1智能指针雏形:独占语义与共享语义****1.独占语义与共享语义****1.1Circle类:示例类****2.拷贝构造:独占语义(UniqueOwnership)****2.1代码解析****3.拷贝构造:共享语义(SharedOwnership)****3.1代码解析****4.智能指针std::unique_ptr和std::shared_ptr****4.1代码解
- Solidity基础入门—web3
晓宜
web3web3区块链
Remix介绍官网地址Remix是一个基于浏览器的Solidity开发环境,主要用于编写、测试、调试和部署以太坊智能合约。Solidity基本数据类型类型说明示例uint/int无符号/有符号整数uint256,int8,int256bool布尔类型(true/false)boolisActive=true;address以太坊地址(20字节)addressowner;string字符串strin
- 解决appium inspector无法加载出小程序页面,定位不到元素的问题。亲测有效哦~
阿波-赞
小程序appium微信小程序
首先我认为者是appium的一个bug。你先分析下,你使用appiuminspector加载小程序的流程是不是这样的:在进入微信开始,打开小程序页面之前,就已经开启了appiuminspector,那么大概率,你进入小程序后,appiuminspector就无法识别加载出小程序页面了,appium后台还会报错:MatchedW3Cerrorcode'unknownerror'toUnknownEr
- Android WiFi协议之P2P介绍与实践
追光者、Z
WIFIWIFIP2Pandroidp2pandroidWiFi
AndroidWiFiP2PWiFiP2P(Peer-to-Peer)是Android提供的一种允许设备之间直接通过WiFi进行通信的技术,无需接入传统的WiFi网络或互联网。这种技术也被称为WiFiDirect。一、WiFiP2P基本概念1.核心组件P2P设备:支持WiFiP2P的Android设备P2P组:由一个组所有者(GroupOwner,GO)和多个客户端组成组所有者(GO):相当于传统
- Oracle数据库数据编程SQL<6.3 获取用户、表名、表中文描述、列名、列中文描述、主键标识等完整信息>
Tyler先森
数据库oraclesql
以下是一个综合查询,可以获取用户所有表的结构信息,包括表的中文描述、列的中文描述、主键标识、数据类型、是否为空、是否为日期类型以及列序号等信息:目录一、综合查询使用说明二、其他变体查询1.查询特定表的列信息2.查询所有表的基本信息和列数统计一、综合查询SELECTt.ownerAS"用户",t.table_nameAS"表名",tc.commentsAS"表中文描述",c.column_nameA
- 深入解析C++面向对象三大特性:封装、继承与多态v
Run1.
C++c++
一、封装:数据与行为的完美结合1.1封装的核心概念封装是将数据和操作数据的方法绑定在一起的机制,通过访问控制实现信息隐藏。三大访问权限:public:完全开放访问protected:限于类及其派生类private:仅类内部访问1.2封装实现示例classBankAccount{private:stringowner;doublebalance;voidlogTransaction(conststr
- python 写入excel 效率_python各种excel写入方式的速度对比
weixin_39924573
python写入excel效率
经过实验,新建一个excel表格,该表格拥有7个sheet,每个sheet有800条数据,其中最后一个sheet为空。首先使用openpyxl进行写入操作,代码如下:book=openpyxl.Workbook()auths=Auth.objects.filter(owner_id=1)filename='导出数据'forauthinauths:sheet=book.create_sheet(au
- Blender 制作透明模型 导入 Unity
BIG_KENG
Unityunityblender
blender版本2.8.1目录:1.UV设置2.材质设置3.导出fbx模型,再将模型导入unity1.UV设置模型是一个简单的方块打开UV界面,在编辑模式下全选整个方块,就可以看到它自己展开了UV,然后点击UV界面的UV菜单,弹出的列表里最后一个选项就是导出UV布局图导出UV布局图,弹出新窗口,将其导出为png格式,(记着文件位置)用绘图软件打开刚刚导出的UV布局图,(我用的是sai2)
- Oracle到GaussDB 层次查询的改写方案
大地红鹰
oraclegaussdb数据库
Oracle写法:selectid,regexp_substr(isu.ownerids,‘[^,]+’,1,level)owneridsfromt_isu_isuisuconnectbylevel<=regexp_count(isu.ownerids,‘,’)+1andID=priorIDandpriordbms_random.valueisnotnull;gaussdb:递归不兼容写法with
- Python-用户账户与应用程序样式
Alfadi联盟 萧瑶
Python数据库sqlite
第十九章用户账户与数据管理19.1用户输入数据处理19.1.1添加新主题操作步骤:1.在models.py中定义Topic模型(需关联用户):fromdjango.contrib.auth.modelsimportUser classTopic(models.Model): owner=models.ForeignKey(User,on_delete=models.CASCADE)
- Rust高级特性
Sean2077
rust
以下是Rust语言的高级特性详解,结合与前端开发的关联场景,帮助开发者突破进阶瓶颈:一、所有权系统(Ownership)核心概念所有权三原则:每个值有唯一所有者值的作用域结束时自动释放(无需手动内存管理)赋值或传参时可能转移所有权(针对堆数据)与JS的差异:JS依赖垃圾回收(GC),而Rust在编译期通过所有权规则确保内存安全。高级应用场景fntake_ownership(s:String){/*
- 源码解读笔记:协程的 ViewModel.viewModelScope和LifecycleOwner.lifecycleScope
wzj_what_why_how
Android#Android——SDK#协程Androidkotlin
分析下ViewModel.viewModelScopepublicvalViewModel.viewModelScope:CoroutineScopeget(){valscope:CoroutineScope?=this.getTag(JOB_KEY)if(scope!=null){returnscope}returnsetTagIfAbsent(JOB_KEY,CloseableCoroutin
- Rust从入门到精通之进阶篇:11.所有权系统详解
aimmon
Rust从入门到精通系列rust开发语言后端
所有权系统详解所有权(Ownership)是Rust最独特的特性,它使Rust能够在不需要垃圾回收的情况下保证内存安全。在本章中,我们将深入探讨所有权系统的工作原理、借用规则和生命周期概念。所有权规则回顾首先,让我们回顾一下所有权的基本规则:Rust中的每个值都有一个被称为其所有者的变量值在任一时刻只能有一个所有者当所有者离开作用域,这个值将被丢弃这些简单的规则是Rust内存安全的基础。所有权转移
- chapter 4: Smart Pointers_《Effective Modern C++》notes
郭涤生
c/c++c++开发语言笔记
SmartPointersItem18:`std::unique_ptr`forExclusiveOwnershipItem19:`std::shared_ptr`forSharedOwnershipItem20:`std::weak_ptr`forNon-OwningReferencesItem21:`make_unique`and`make_shared`Item22:PimplIdiomwi
- 玩转github
黄白柴柴
githubgithub
megithub可以给仓库添加开发人员吗4o是的,GitHub允许仓库管理员为仓库添加开发人员,并设置这些开发人员的角色和权限。这里是一个简单的步骤指导,教你如何给一个GitHub仓库添加开发人员:前提条件你必须有这个仓库的权限(通常是Owner或Maintainer)。对于私有仓库和组织仓库,你需要确保对方有一个GitHub账户。步骤1:前往仓库的设置页面打开你的GitHub仓库。点击页面右上角
- Podman 运行redis 报错
one one day
podmanredis数据库
Podman运行redis报错一、报错内容find:'.':Permissiondeniedchown:changingownershipof'.':Permissiondenied二、问题分析SELinux模式SELinux(Security-EnhancedLinux)是一种安全模块,旨在通过强制访问控制(MAC)来增强Linux系统的安全性。SELinux具有三种工作模式,每种模式提供不同的
- 【Git】 fatal: detected dubious ownership in repository 解决方法
小段爱前端
远程仓库gitgithub
git操作错误提示:解决方法:方法一:输入gitconfig--global--addsafe.directoryC:/Users/21077/vue_shop,但是这只能解决当前的git仓库,其他的git仓库,都要这么做,并且gitconfig-l,会发现一大串的这些操作,具体没有尝试,参考别的博主的
- Git报错fatal: detected dubious ownership in repository at /**/**/**
ttz25
git
问题gitpull报错fatal:detecteddubiousownershipinrepositoryat'/home/xxx/xxToaddanexceptionforthisdirectory,call:gitconfig--global--addsafe.directoryxxx执行了gitconfig--global--addsafe.directoryxxx也没用解决发现是文件夹以及
- Git新建分支报错:detected dubious ownership in repository at
热爱生活啊!
git
刚入职:错误频繁出报这个错误原理是因为:你拉取的项目的管理员名称与当前不一致,好好想一想是不是你最近改过你的用户管理员用户名。解决方法:转载一下这位博主的博客,按照步骤操作完成后需要重新打卡一下你的编译软件。detecteddubiousownershipinrepositoryatXXX解决办法c
- 重构:封装变量
Allenonlywork
代码规范重构
曾用名:自封装变量(Self-Encapsulate)曾用名:封装字段(EncapsulateField)//重构前letdefaultOwner={firstName:"Martin",lastName:"Fowler"};//重构后letdefaultOwnerData={firstName:"Martin",lastName:"Fowler"};exportfunctiondefaultOw
- html页面js获取参数值
0624chenhong
html
1.js获取参数值js
function GetQueryString(name)
{
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = windo
- MongoDB 在多线程高并发下的问题
BigCat2013
mongodbDB高并发重复数据
最近项目用到 MongoDB , 主要是一些读取数据及改状态位的操作. 因为是结合了最近流行的 Storm进行大数据的分析处理,并将分析结果插入Vertica数据库,所以在多线程高并发的情境下, 会发现 Vertica 数据库中有部分重复的数据. 这到底是什么原因导致的呢?笔者开始也是一筹莫 展,重复去看 MongoDB 的 API , 终于有了新发现 :
com.mongodb.DB 这个类有
- c++ 用类模版实现链表(c++语言程序设计第四版示例代码)
CrazyMizzz
数据结构C++
#include<iostream>
#include<cassert>
using namespace std;
template<class T>
class Node
{
private:
Node<T> * next;
public:
T data;
- 最近情况
麦田的设计者
感慨考试生活
在五月黄梅天的岁月里,一年两次的软考又要开始了。到目前为止,我已经考了多达三次的软考,最后的结果就是通过了初级考试(程序员)。人啊,就是不满足,考了初级就希望考中级,于是,这学期我就报考了中级,明天就要考试。感觉机会不大,期待奇迹发生吧。这个学期忙于练车,写项目,反正最后是一团糟。后天还要考试科目二。这个星期真的是很艰难的一周,希望能快点度过。
- linux系统中用pkill踢出在线登录用户
被触发
linux
由于linux服务器允许多用户登录,公司很多人知道密码,工作造成一定的障碍所以需要有时踢出指定的用户
1/#who 查出当前有那些终端登录(用 w 命令更详细)
# who
root pts/0 2010-10-28 09:36 (192
- 仿QQ聊天第二版
肆无忌惮_
qq
在第一版之上的改进内容:
第一版链接:
http://479001499.iteye.com/admin/blogs/2100893
用map存起来号码对应的聊天窗口对象,解决私聊的时候所有消息发到一个窗口的问题.
增加ViewInfo类,这个是信息预览的窗口,如果是自己的信息,则可以进行编辑.
信息修改后上传至服务器再告诉所有用户,自己的窗口
- java读取配置文件
知了ing
1,java读取.properties配置文件
InputStream in;
try {
in = test.class.getClassLoader().getResourceAsStream("config/ipnetOracle.properties");//配置文件的路径
Properties p = new Properties()
- __attribute__ 你知多少?
矮蛋蛋
C++gcc
原文地址:
http://www.cnblogs.com/astwish/p/3460618.html
GNU C 的一大特色就是__attribute__ 机制。__attribute__ 可以设置函数属性(Function Attribute )、变量属性(Variable Attribute )和类型属性(Type Attribute )。
__attribute__ 书写特征是:
- jsoup使用笔记
alleni123
java爬虫JSoup
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.7.3</version>
</dependency>
2014/08/28
今天遇到这种形式,
- JAVA中的集合 Collectio 和Map的简单使用及方法
百合不是茶
listmapset
List ,set ,map的使用方法和区别
java容器类类库的用途是保存对象,并将其分为两个概念:
Collection集合:一个独立的序列,这些序列都服从一条或多条规则;List必须按顺序保存元素 ,set不能重复元素;Queue按照排队规则来确定对象产生的顺序(通常与他们被插入的
- 杀LINUX的JOB进程
bijian1013
linuxunix
今天发现数据库一个JOB一直在执行,都执行了好几个小时还在执行,所以想办法给删除掉
系统环境:
ORACLE 10G
Linux操作系统
操作步骤如下:
第一步.查询出来那个job在运行,找个对应的SID字段
select * from dba_jobs_running--找到job对应的sid
&n
- Spring AOP详解
bijian1013
javaspringAOP
最近项目中遇到了以下几点需求,仔细思考之后,觉得采用AOP来解决。一方面是为了以更加灵活的方式来解决问题,另一方面是借此机会深入学习Spring AOP相关的内容。例如,以下需求不用AOP肯定也能解决,至于是否牵强附会,仁者见仁智者见智。
1.对部分函数的调用进行日志记录,用于观察特定问题在运行过程中的函数调用
- [Gson六]Gson类型适配器(TypeAdapter)
bit1129
Adapter
TypeAdapter的使用动机
Gson在序列化和反序列化时,默认情况下,是按照POJO类的字段属性名和JSON串键进行一一映射匹配,然后把JSON串的键对应的值转换成POJO相同字段对应的值,反之亦然,在这个过程中有一个JSON串Key对应的Value和对象之间如何转换(序列化/反序列化)的问题。
以Date为例,在序列化和反序列化时,Gson默认使用java.
- 【spark八十七】给定Driver Program, 如何判断哪些代码在Driver运行,哪些代码在Worker上执行
bit1129
driver
Driver Program是用户编写的提交给Spark集群执行的application,它包含两部分
作为驱动: Driver与Master、Worker协作完成application进程的启动、DAG划分、计算任务封装、计算任务分发到各个计算节点(Worker)、计算资源的分配等。
计算逻辑本身,当计算任务在Worker执行时,执行计算逻辑完成application的计算任务
- nginx 经验总结
ronin47
nginx 总结
深感nginx的强大,只学了皮毛,把学下的记录。
获取Header 信息,一般是以$http_XX(XX是小写)
获取body,通过接口,再展开,根据K取V
获取uri,以$arg_XX
&n
- 轩辕互动-1.求三个整数中第二大的数2.整型数组的平衡点
bylijinnan
数组
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class ExoWeb {
public static void main(String[] args) {
ExoWeb ew=new ExoWeb();
System.out.pri
- Netty源码学习-Java-NIO-Reactor
bylijinnan
java多线程netty
Netty里面采用了NIO-based Reactor Pattern
了解这个模式对学习Netty非常有帮助
参考以下两篇文章:
http://jeewanthad.blogspot.com/2013/02/reactor-pattern-explained-part-1.html
http://gee.cs.oswego.edu/dl/cpjslides/nio.pdf
- AOP通俗理解
cngolon
springAOP
1.我所知道的aop 初看aop,上来就是一大堆术语,而且还有个拉风的名字,面向切面编程,都说是OOP的一种有益补充等等。一下子让你不知所措,心想着:怪不得很多人都和 我说aop多难多难。当我看进去以后,我才发现:它就是一些java基础上的朴实无华的应用,包括ioc,包括许许多多这样的名词,都是万变不离其宗而 已。 2.为什么用aop&nb
- cursor variable 实例
ctrain
variable
create or replace procedure proc_test01
as
type emp_row is record(
empno emp.empno%type,
ename emp.ename%type,
job emp.job%type,
mgr emp.mgr%type,
hiberdate emp.hiredate%type,
sal emp.sal%t
- shell报bash: service: command not found解决方法
daizj
linuxshellservicejps
今天在执行一个脚本时,本来是想在脚本中启动hdfs和hive等程序,可以在执行到service hive-server start等启动服务的命令时会报错,最终解决方法记录一下:
脚本报错如下:
./olap_quick_intall.sh: line 57: service: command not found
./olap_quick_intall.sh: line 59
- 40个迹象表明你还是PHP菜鸟
dcj3sjt126com
设计模式PHP正则表达式oop
你是PHP菜鸟,如果你:1. 不会利用如phpDoc 这样的工具来恰当地注释你的代码2. 对优秀的集成开发环境如Zend Studio 或Eclipse PDT 视而不见3. 从未用过任何形式的版本控制系统,如Subclipse4. 不采用某种编码与命名标准 ,以及通用约定,不能在项目开发周期里贯彻落实5. 不使用统一开发方式6. 不转换(或)也不验证某些输入或SQL查询串(译注:参考PHP相关函
- Android逐帧动画的实现
dcj3sjt126com
android
一、代码实现:
private ImageView iv;
private AnimationDrawable ad;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout
- java远程调用linux的命令或者脚本
eksliang
linuxganymed-ssh2
转载请出自出处:
http://eksliang.iteye.com/blog/2105862
Java通过SSH2协议执行远程Shell脚本(ganymed-ssh2-build210.jar)
使用步骤如下:
1.导包
官网下载:
http://www.ganymed.ethz.ch/ssh2/
ma
- adb端口被占用问题
gqdy365
adb
最近重新安装的电脑,配置了新环境,老是出现:
adb server is out of date. killing...
ADB server didn't ACK
* failed to start daemon *
百度了一下,说是端口被占用,我开个eclipse,然后打开cmd,就提示这个,很烦人。
一个比较彻底的解决办法就是修改
- ASP.NET使用FileUpload上传文件
hvt
.netC#hovertreeasp.netwebform
前台代码:
<asp:FileUpload ID="fuKeleyi" runat="server" />
<asp:Button ID="BtnUp" runat="server" onclick="BtnUp_Click" Text="上 传" />
- 代码之谜(四)- 浮点数(从惊讶到思考)
justjavac
浮点数精度代码之谜IEEE
在『代码之谜』系列的前几篇文章中,很多次出现了浮点数。 浮点数在很多编程语言中被称为简单数据类型,其实,浮点数比起那些复杂数据类型(比如字符串)来说, 一点都不简单。
单单是说明 IEEE浮点数 就可以写一本书了,我将用几篇博文来简单的说说我所理解的浮点数,算是抛砖引玉吧。 一次面试
记得多年前我招聘 Java 程序员时的一次关于浮点数、二分法、编码的面试, 多年以后,他已经称为了一名很出色的
- 数据结构随记_1
lx.asymmetric
数据结构笔记
第一章
1.数据结构包括数据的
逻辑结构、数据的物理/存储结构和数据的逻辑关系这三个方面的内容。 2.数据的存储结构可用四种基本的存储方法表示,它们分别是
顺序存储、链式存储 、索引存储 和 散列存储。 3.数据运算最常用的有五种,分别是
查找/检索、排序、插入、删除、修改。 4.算法主要有以下五个特性:
输入、输出、可行性、确定性和有穷性。 5.算法分析的
- linux的会话和进程组
网络接口
linux
会话: 一个或多个进程组。起于用户登录,终止于用户退出。此期间所有进程都属于这个会话期。会话首进程:调用setsid创建会话的进程1.规定组长进程不能调用setsid,因为调用setsid后,调用进程会成为新的进程组的组长进程.如何保证? 先调用fork,然后终止父进程,此时由于子进程的进程组ID为父进程的进程组ID,而子进程的ID是重新分配的,所以保证子进程不会是进程组长,从而子进程可以调用se
- 二维数组 元素的连续求解
1140566087
二维数组ACM
import java.util.HashMap;
public class Title {
public static void main(String[] args){
f();
}
// 二位数组的应用
//12、二维数组中,哪一行或哪一列的连续存放的0的个数最多,是几个0。注意,是“连续”。
public static void f(){
- 也谈什么时候Java比C++快
windshome
javaC++
刚打开iteye就看到这个标题“Java什么时候比C++快”,觉得很好笑。
你要比,就比同等水平的基础上的相比,笨蛋写得C代码和C++代码,去和高手写的Java代码比效率,有什么意义呢?
我是写密码算法的,深刻知道算法C和C++实现和Java实现之间的效率差,甚至也比对过C代码和汇编代码的效率差,计算机是个死的东西,再怎么优化,Java也就是和C