- Spring Boot与MyBatis完美融合:整合实战指南
目录1、梳理整合思路2、整合实现2.1环境搭建2.2案例3、整合mybatis-plus报错1.依赖问题2.配置问题3.Mapper接口与XML文件问题4.实体类问题5.数据库连接问题6.SQL语句问题7.Spring容器问题8.其他1、梳理整合思路将MyBatis的DataSource交给SpringIoC容器创建并管理,使用第三方数据库连接池(Druid,C3P0等)代替MyBatis内置的数
- INVALID_COLUMN_NAME _AS_PATH
sparksql异常[INVALID_COLUMN_NAME_AS_PATH]ThedatasourceHiveFileFormatcannotsavethecolumnmin(birth_date)becauseitsnamecontainssomecharactersthatarenotallowedinfilepaths.Piease,useanallastorenameidemosqlSE
- SpringCloud+Seata+MybatisPlus多数据源@GlobalTransactional异常数据未回滚事务失效的解决方案
banmajio
分布式微服务分布式分布式事务seataSpringCloud
SpringCloud+Seata+MybatisPlus多数据源@GlobalTransactional异常数据未回滚的解决方案一、问题解析1.1全局异常捕获吞异常导致分布式事务失效1.2MybatisPlus多数据源dynamic-datasource-spring-boot-starter导致事务失效二、解决方案2.1全局异常事务失效解决2.2多数据源导致全局事务失效解决SpringClou
- Sharding-JDBC-Java配置
蓝胖子的白日梦丶
JAVA配置配置示例数据分片DataSourcegetShardingDataSource()throwsSQLException{ShardingRuleConfigurationshardingRuleConfig=newShardingRuleConfiguration();shardingRuleConfig.getTableRuleConfigs().add(getOrderTableR
- spring-boot+spring-cloud数据库报错小记
DoUbLE_tree
使用环境srping-boot:2.1.1.RELEASEspring-cloud:Finchley.SR2报错提示Description:Thebean'dataSource',definedinBeanDefinitiondefinedinclasspathresource[org/springframework/boot/autoconfigure/jdbc/DataSourceConfig
- grafana10.x报错 Failed to upgrade legacy queries Datasource x was not found
每天靠近一点点
grafana
问题grafana从6.x升级到10.x后,导入json文件后报错,数据源x查询不到,grafana不显示数据;TemplatingFailedtoupgradelegacyqueriesDatasourcexwasnotfound解决方法可能grafana升级后数据源找不到,在面板上重新选择数据源保存后,点击Inspect中的PanelJSON文件,查看更新后数据源的uid,在导入的json文件
- 2018-06-28 tree 便利显示
lazyTai
image.png//rendertree.jsconstpaddingLeft={paddingLeft:10}functionrenderChildren(data,datasource,props){returnMap(data,item=>{return{renderChildren(datasource[item.key],datasource,props)}})}//rendertre
- 老系统改造增加初始化,自动化数据源配置(tomcat+jsp+springmvc)
老系统改造增加初始化,自动化数据源配置一、前言二、改造描述1、环境说明2、实现步骤简要思考三、开始改造1、准备sql初始化文件2、启动时自动读取jdbc文件,创建数据源,如未配置,需要一个默认的临时数据源2.1去掉spingmvc原本配置的固定dataSource,改为动态dataSource2.2代码类,这里是示例,我就不管规范了,放到一起2.2.1DynamicDataSourceConfig
- 使用 p6spy,拦截到持久层执行的sql及参数
Peter-OK
一些问题p6spysql
声明:文章内容是自己使用后整理,大部分工具代码出自大牛,但因无法确认出处,故仅在此处由衷的对无私分享源代码的作者表示感谢与致敬!本人在拦截到sql的基础上加了分析功能和异常告警功能1、导入p6spy的jar包,如果是maven项目引入pomp6spyp6spy3.9.12、修改datasource数据源的driverClassName驱动和url地址为com.p6spy.engine.spy.P6
- Spring Boot + Spring JPA + JDBC + Druid实现动态数据源切换
Apr01Chell
代码片段springjava数据库
SpringBoot+SpringJPA+JDBC+Druid实现动态数据源切换目录SpringBoot+SpringJPA+JDBC+Druid实现动态数据源切换AbstractRoutingDataSource源码分析需求代码实现DynamicDataSourceDBContextHolderDruidDbConfigDataSourcePropertiesAllDataSourcesExec
- SpringBoot多数据源动态切换方案:AbstractRoutingDataSource详解
fanxbl957
Webspringboot后端java
博主介绍:Java、Python、js全栈开发“多面手”,精通多种编程语言和技术,痴迷于人工智能领域。秉持着对技术的热爱与执着,持续探索创新,愿在此分享交流和学习,与大家共进步。DeepSeek-行业融合之万象视界(附实战案例详解100+)全栈开发环境搭建运行攻略:多语言一站式指南(环境搭建+运行+调试+发布+保姆级详解)感兴趣的可以先收藏起来,希望帮助更多的人SpringBoot多数据源动态切换
- 【LLM】Llama-Index 架构
FOUR_A
LLMllama架构
数据源(DataSources)PDF/文档数据库API网页音频/视频知识库自定义源数据连接器(DataConnectors)用于从各种数据源提取和加载数据,以便进行索引和查询。1.SimpleDirectoryReader含义:简单目录读取器。功能:主要用于读取本地文件系统中的目录内容。它可以列出目录中的文件和子目录,通常用于文件管理或数据预处理阶段。例如,在一个数据处理项目中,你可能需要列出某
- Java手动打印执行过的sql
GoodStudyAndDayDayUp
javasql开发语言
1.拦截器packagecom.xxx.platform.common.interceptor;importcom.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;importcom.xxx.platform.common.aop.OLAPQuery;importcom.xxx.platform.constant
- Spring Boot多数据源实现方案深度对比:优缺点分析与实战指南
xiaoyu❅
java#springbootspringboot后端java
目录一、为什么需要多数据源?二、5大主流实现方案对比三、方案实现详解方案1:手动配置多DataSource(基础版)方案2:AbstractRoutingDataSource(动态路由)方案3:MyBatis-Plus多数据源(推荐)方案4:JPA多数据源配置方案5:ShardingSphere(企业级方案)四、事务管理解决方案1.分布式事务(XA协议)2.BASE柔性事务五、性能优化策略1.连接
- springboot集成达梦数据库,取消MySQL数据库,解决问题和冲突
执笔诉情殇〆
数据库springbootmysql达梦
一、驱动与连接配置更换JDBC驱动在pom.xml中移除MySQL驱动,添加达梦驱动(版本根据DM数据库选择):com.damengDmJdbcDriver8.1.2.141修改数据源配置#application.yml中配置达梦连接(注意模式名大小写敏感):spring:datasource:driver-class-name:dm.jdbc.driver.DmDriverurl:jdbc:dm
- MySQL(114)如何进行数据库负载均衡?
辞暮尔尔-烟火年年
MySQL数据库mysql负载均衡
为了进行数据库负载均衡,我们可以使用SpringBoot和MySQL,并结合AbstractRoutingDataSource来实现数据源的动态切换。下面的实现包括配置多数据源、定义数据源上下文和实现负载均衡策略(如轮询和随机)。项目依赖首先在pom.xml中添加必要的依赖:org.springframework.bootspring-boot-starter-data-jpamysqlmysql
- Java 中 DataSource-数据源 的基础介绍
Java中DataSource-数据源的基础介绍一、核心概念解析1.1数据源(DataSource)1.2数据库连接池(ConnectionPool)1.3二者关系1.4DataSource接口二、DataSource解决的问题与优势2.1DataSource的作用2.2传统方式的局限性2.3使用连接池DataSource的改进三、SpringBoot中DataSource的配置与使用3.1自动配
- Failed to configure a DataSource: ‘url‘ attribute is not specified and no em..
怎么可能-怎么可能
javamavenzookeeper
nacos动态配置yml文件模块启动不起来报错:FailedtoconfigureaDataSource:'url'attributeisnotspecifiedandnoembeddeddatasourcecouldbeconfigured.Reason:Failedtodetermineasuitabledriverclass在启动类上加一下内容:@SpringBootApplication(
- Spring Boot 中@Value注解:看似便捷,实则暗藏玄机?
爆炸糖果
springboot后端java
一、引言在SpringBoot的开发旅程中,我们常常会与各种配置文件打交道,而@Value注解就像是一位贴心的小助手,为我们从配置文件中获取值提供了极大的便利。假设我们正在开发一个简单的用户管理系统,在application.yml文件中配置了数据库连接信息:spring:datasource:url:jdbc:mysql://localhost:3306/user_dbusername:root
- 华为仓颉鸿蒙HarmonyOS NEXT仓颉List性能优化LazyForEach(懒加载)
Bison丶
华为list数据结构
LazyForEach从提供的数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。当在滚动容器中使用了LazyForEach,框架会根据滚动容器可视区域按需创建组件,当组件滑出可视区域外时,框架会进行组件销毁回收以降低内存占用。求关注publicclassDataChangeListenerUnit,(T,Int64)->String)publicinit(dataSource:IDataSo
- SpringBoot多数据源配置详解
墨鸦_Cormorant
#Java持久层springboot后端java
文章目录多数据源核心概念多数据源实现示例多数据源的配置文件以及配置类JPA多数据源配置MyBatis多数据源配置事务管理:跨数据源事务处理单数据源事务多数据源事务挑战事务管理器:DataSourceTransactionManager和JpaTransactionManager多数据源事务使用基于AbstractRoutingDataSource的动态数据源常见问题与解决方案典型问题排查表数据源切
- docker部署nacos(mysql)
运维开发那些事
dockermysqladb
vimdocker-compose.ymlversion:"3.8"services:nacos:image:nacos/nacos-server:v2.2.3container_name:nacosenvironment:-MODE=standalone-SPRING_DATASOURCE_PLATFORM=mysql-MYSQL_SERVICE_HOST=nacos-mysql-MYSQL_S
- Spring Boot多数据源配置实战指南
代码的余温
springboot后端java
在SpringBoot中实现多数据源拆分,需根据业务需求(如读写分离、模块隔离、多租户等)选择合适的方案。以下是核心思路及实现方式:一、配置多个数据源在application.yml中为每个数据源定义独立配置:spring:datasource:primary:url:jdbc:mysql://localhost:3306/db1username:rootpassword:123456driver
- 各种数据库产品的细节比较
demon7552003
数据库数据库细节对比
JdbcUrlmysqlspring:datasource:type:com.zaxxer.hikari.HikariDataSourcedriver-class-name:com.mysql.cj.jdbc.Driverusername:xxxpassword:xxxurl:jdbc:mysql://192.168.1.54:3306/tmp?characterEncoding=utf8&zer
- 记一次 UAT 环境 PostgreSQL ON CONFLICT DO UPDATE 报错.
倒流时光三十年
数据库postgresql
背景为应对最后上线测试,在UAT环境进行一次总量3000万的数据集成,数据分为4种DataSorce.在执行到第三种DataSource时,集成失败.并收到告警邮件.提醒如下报错.讲这个报错前.就得下说一下当前数据集成方案..###Cause:PSQLException:ERROR:ONCONFLICTDOUPDATEcommandcannotaffectrowasecondtime建议:Ensu
- Spring-MyBatis的配置
Small black human
#JavaEE开发springmybatisjava
一.连接数据库1.yml文件中的配置#数据库连接配置spring:datasource:url:jdbc:mysql://127.0.0.1:3306/mybatis_test?characterEncoding=utf8&useSSL=falseusername:rootpassword:rootdriver-class-name:com.mysql.cj.jdbc.Driver2.proper
- 【多数据源动态切换数据源】
动态数据源切换一、动态数据源切换的实现1.使用AbstractRoutingDataSource2.ThreadLocal管理上下文二、数据源初始化与配置2.1.配置多数据源2.2.实现动态数据源切换2.2.1创建DynamicDataSource类2.2.2创建DataSourceContextHolder类2.2.3配置多数据源2.2.4配置Druid连接池三、实现数据源切换-手动切换3.1创
- Multi-tenant applications using Spring Boot, JPA, Hibernate and Postgres
未来AI编程
springCloud
Revision#1onMay9th,2018:Saveoperationswerefailing,addedsupportforActorinstancestobeupdatedviaaPATCHendpoint.UpdatedTransactionManagersection.Revision#2onMar25th,2019:ExcludedDataSourceTransactionManag
- 数据库连接池
进击的小白程序员
数据库
常用连接池c3p0、hikari的性能还是非常不错的,dbcp相对是弱一些的。C3P0开发背景:开源社区项目,相对较早的Java连接池实现之一。特点:自动故障恢复:支持自动检测并重新连接断开的数据库连接,以及检测并关闭失效的连接。配置灵活性:提供丰富的配置选项,允许用户精细控制连接池的行为。扩展性:支持JNDI绑定和DataSource配置,便于集成到各种应用服务器环境中。性能与稳定性:性能:相较
- ELK日志采集系统
UFIT
服务器nginx运维
ELK日志采集系统指的是由Elasticsearch、Logstash和Kibana三个核心开源软件组成的套件,用于集中式日志的采集、处理、存储、搜索、分析和可视化。它现在更常被称为ElasticStack,因为其组件生态已经扩展(尤其是引入了Beats)。以下是ELK系统的核心组件和工作流程详解:数据源(DataSources)任何产生日志或事件的应用、系统或设备。例如:Web服务器日志(Ngi
- 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