按值传递定义和原理按值传递是最基本的参数传递方式。在这种方式下,函数会创建参数的副本,函数内部对参数的操作不会影响到原始的变量。例如:cppvoidincrement(intnum){num++;}intmain(){intvalue=5;increment(value);std::cout<
ThreadLocal
666HZ666
Springbootjavajvm开发语言
一、概念ThreadLocal并不是一个Thread,而是Thread的局部变量ThreadLocal为每个线程提供单独一份存储空间,具有线程隔离的效果,只有在线程内才能获取到对应的值,线程外则不能访问二、ThreadLocal工具类publicclassBaseContext{publicstaticThreadLocalthreadLocal=newThreadLocal<>();public
软件工程的熵减:AI代码生成器如何降低系统复杂度
前端
软件开发的世界,如同一个不断膨胀的宇宙。随着项目规模的增长,代码库日益庞大,系统复杂度也随之水涨船高。维护、扩展和协作的难度成倍增加,这如同物理学中的熵增原理一样,系统朝着混乱无序的方向发展。为了对抗这种“熵增”,我们需要寻找有效的手段,而AI代码生成器的出现,为我们提供了一种强大的武器。在传统的软件开发模式下,开发者花费大量时间处理重复性工作,例如编写大量的样板代码,这不仅效率低下,而且容易引入
技术选型指南:Web、原生、混合开发的对比
前端
随着移动互联网的飞速发展,开发者在选择应用开发方式时,经常面临纯Web开发、原生开发和混合开发的技术决策。每种开发方式都有其独特的优势和适用场景,开发者需根据项目需求、性能要求及跨平台能力做出合适的选择。本文将详细分析这三种开发方式的特点、实现原理及适用场景,同时推荐一些开源框架,并讲解微信小程序的实现方式。我们还将通过简单的代码示例,帮助大家更直观地理解这些技术。一、纯Web开发定义:纯Web开
【Django DRF Apps】从零搭建一个Django SSE app应用
患得患失949
DjangoDRF封装功能类djangosqlitepythonSSEapp
一、从零开始搭建DjangoSSE应用(一)创建Django项目安装Django首先确保已经安装Django。如果没有安装,可以使用以下命令进行安装:pipinstalldjango创建Django项目创建一个新的Django项目:django-adminstartprojectsse_projectcdsse_project创建Django应用创建一个新的应用来处理SSE:pythonmanag
论文阅读:Deep Bilateral Learning for Real-Time Image Enhancement-google-hdrnet-slicing
SetMaker
论文阅读
项目地址:https://gitcode.com/google/hdrnethdrnet作为超分领域的经典文章,由google提出主要用来用轻量化的方法来实现高分辨率的图像生成,hdrnet结合cnn可以让更高分辨率的图像部署在板端。如图所示,原始图像比如4k图像,首先分为两个主要模块:grid和guide。grid就是对应图上面的那一条特征提取网络,具体来说,原始图像经过下采样之后,默认256分
弹性云在业务环境中的实际应用和优势有什么
服务器
在当今这个瞬息万变的商业时代,企业面临着前所未有的挑战与机遇。为了保持竞争力并实现持续增长,企业不仅需要创新的产品和服务,还需要一个灵活、高效且成本可控的IT基础设施来支撑其业务运营。正是在这样的背景下,弹性云作为云计算技术的核心优势之一,正逐步成为企业业务环境中的关键组成部分。一、弹性云的实际应用弹性云的最大特点在于其能够根据业务需求的实时变化,动态地调整计算资源、存储资源和网络资源。这种高度灵
小明,谈谈你对Vue 虚拟dom的理解
程序员
Vue.js的虚拟DOM(VirtualDOM)是为了提高前端性能和开发体验而引入的一种技术。Vue.js虚拟DOM的大致实现虚拟DOM的定义虚拟DOM是一种JavaScript对象,它用来描述用户界面(UI)的结构和内容。每个虚拟DOM节点(VNode)代表一个真实的DOM元素或组件实例。//VNode示例constvnode={tag:'div',data:{id:'app'},childre
企业落地大模型的路径选择:微调、RAG、提示词工程
AGI-杠哥
深度学习自然语言处理人工智能学习知识图谱
一、大模型的特点1)不确定性与传统应用不同,模型的输出是不确定的,即使多次问它一样的问题,给出的结果也可能不一样。这种特性对于日常应用业务OK,但是如果要在企业内用来处理具体业务问题,就必须提高这个稳定性,否则影响生产经营,例如产线操作人员通过模型获取操作步骤或者参数,如果步骤或者数据不对可能会导致产品出现质量问题等等。2)静态性模型一旦训练好,就无法再补充数据,因此模型不会了解你自己组织内部的年
ChatGPT 绘图的工作原理
ChatGPT的绘图功能结合了自然语言处理(NLP)和图像生成的技术,这种综合能力依赖于预训练模型(如GPT-4)和图像生成模型(如DALL-E)之间的紧密协作。ChatGPT本质上是一个大规模的语言模型,但通过与图像生成模型集成,它得以执行基于描述生成图像的任务。接下来,我们将从模型架构、训练方法、推理机制和一些技术挑战等方面,详细讨论ChatGPT进行绘图的工作原理。
Chatgpt国内镜像网站|最容易懂的 ChatGPT 介绍与教学指南【2025年1月更新】
最新更新日期:2025年1月20日这是一份全方位的指南,帮助您轻松使用ChatGPT中文版,无需科学上网即可体验GPT-4的全部功能!在本文中,您将了解如何通过推荐的镜像网站访问ChatGPT中文版、注册使用的具体步骤,以及常见问题的解答。什么是ChatGPT中文版?ChatGPT中文版是OpenAI专为中文用户量身定做的智能对话工具,旨在提供更加顺畅且精准的中文交流体验。与国际版相比,ChatG
软件工程的熵减:AI代码生成器如何降低系统复杂度
前端
软件开发的世界,如同一个不断膨胀的宇宙。随着项目规模的增长,代码库日益庞大,系统复杂度也随之水涨船高。维护、扩展和协作的难度成倍增加,这如同物理学中的熵增原理一样,系统朝着混乱无序的方向发展。为了对抗这种“熵增”,我们需要寻找有效的手段,而AI代码生成器的出现,为我们提供了一种强大的武器。在传统的软件开发模式下,开发者花费大量时间处理重复性工作,例如编写大量的样板代码,这不仅效率低下,而且容易引入
“一起学 HarmonyOS”第二弹获奖名单来啦~
harmonyos
亲爱的小伙伴们,感谢参与“一起学HarmonyOS”第二弹技术问答活动,本次活动的获奖名单来啦~获奖名单学习宣传奖获奖用户完成项李游LeoLevel0Swift社区Level0奖品:技术书籍1本社区白银电子勋章「挑战者」学习萌新奖获奖用户完成项完美的荒野_sQfjyLevel1木槿Level1求醉的灌汤包Level1不开心的扁豆_cll5hnLevel1苦闷的伤疤Level1时尚的小摩托_kgMU
企业如何打造高效智能问答系统?一文详解架构与实现!
功城师
大语言模型自然语言处理LLM人工智能智能问答RAGAgent
随着人工智能技术的不断发展,智能问答系统成为越来越多企业提升客户服务、知识管理与内部沟通的关键工具。今天我们将深入解析一套智能问答系统的设计思路与技术架构,帮助大家更好地理解如何利用这一系统在实际场景中高效运作。一、智能问答系统的整体架构这套智能问答系统分为前台、AI服务和后台三个核心部分,每个部分承担着不同的职责,分别负责用户交互、问题处理与数据支持。通过这种模块化的设计,整个系统的工作流程得以
Java并发编程:线程安全的策略与实践
喵手
零基础学Javajava安全开发语言
哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云/阿里云/华为云/51CTO;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。 我是一名后端开发爱好者,工作日常接触到最多的就是Java语言啦,所以我都尽量抽业余时间把自己所学到所会的,通过文章的形式进行输出,希望以这种方式
为什么算法很难掌握
浅墨cgz
算法
算法之所以难以掌握,主要是因为以下几个原因:1.抽象性算法是对问题的抽象解决方案,通常不依赖于具体的编程语言或实现细节。初学者可能难以将抽象的逻辑转化为具体的代码。例如,动态规划(DP)的核心思想是将问题分解为子问题并存储中间结果,但这种抽象思维需要大量练习才能掌握。2.数学基础要求许多算法依赖于数学知识,例如:时间复杂度分析:需要理解大O表示法、递归关系等。图论算法:需要了解图的基本概念(如节点
实战指南:使用Wireshark捕获并解密HTTPS数据包
md_1008
wiresharkhttps测试工具
在网络安全和数据分析领域,捕获和分析网络数据包是理解网络行为、诊断问题和进行安全审计的重要手段。HTTPS(HyperTextTransferProtocolSecure)作为现代Web通信的主要协议,通过SSL/TLS加密确保了数据的安全传输。然而,在某些情况下,如网络调试、安全测试或故障排除时,我们可能需要解密HTTPS数据包以查看其详细内容。本文将提供一份实战指南,教你如何使用Wiresha
【AI论文】迈向大型推理模型:大型语言模型增强推理综述
东临碣石82
人工智能语言模型自然语言处理
摘要:语言长久以来被视为人类推理不可或缺的工具。大型语言模型(LLM)的突破激发了利用这些模型解决复杂推理任务的浓厚研究兴趣。研究人员已经超越了简单的自回归词元生成,引入了“思维”的概念——即代表推理过程中间步骤的词元序列。这一创新范式使LLM能够模仿复杂的人类推理过程,如树搜索和反思性思维。近期,一种新兴的学习推理趋势采用强化学习(RL)来训练LLM掌握推理过程。这种方法通过试错搜索算法自动生成
寄存器 reg
一条九漏鱼
verilog开发实战指南fpga开发
理论学习组合逻辑最大的缺点就是存在竞争冒险问题,会增加电路的不稳定性和不确定性,使用时许逻辑可以极大的避免这种问题,使得系统更加的稳定。时序逻辑最基础的单元就是寄存器,寄存器有存储功能,一般是D触发器(DFlipFlop,DFF)组成。由时钟脉冲控制,每个D触发器能够存储一位二进制码。D触发器的功能:在时钟信号的边沿下,将信号从输入端D送到输出端Q;同步复位D触发器moduleflip_flop(
FPGA与ASIC:深度解析与职业选择
博览鸿蒙
FPGAfpga开发制造
IC(集成电路)行业涵盖广泛,涉及数字、模拟等不同研究方向,以及设计、制造、封测等不同产业环节。其中,FPGA(现场可编程门阵列)和ASIC(专用集成电路)是两种重要的芯片类型,经常让初入行者或转行者面临选择难题。本文将深入剖析FPGA与ASIC的区别,帮助读者更好地理解并做出职业规划。概念辨析FPGA(FieldProgrammableGateArray):本质上是一种芯片,允许用户通过编程配置
deepin桌面卡死问题应对策略
deepin
摘要:deepin操作系统,作为一款基于Linux的国产操作系统,以其美观的界面和稳定的性能受到用户的喜爱。然而,用户在使用过程中可能会遇到桌面卡死的问题。本文将提供一些常见的桌面卡死情况及其解决方案,帮助用户快速恢复系统的正常运行。引言deepin操作系统在提供高效能的同时,也可能会遇到桌面卡死的问题。这种情况可能是由于桌面环境、Xorg服务或者特定进程的异常造成的。本文将针对这些情况提供详细的
淘宝商品详情获取api接口秘籍
前端后端运维数据挖掘api
一、引言在当今数字化的商业世界中,淘宝作为全球知名的电商巨头,承载着海量的商品信息。无论是电商从业者渴望优化店铺运营、精准营销,还是市场分析师致力于洞悉行业趋势、挖掘消费热点,亦或是普通消费者期望在购物时做出明智决策,获取淘宝商品详情都显得尤为关键。对于电商商家而言,掌握自家及竞品的商品详情,如价格动态、销量走势、用户评价等,能够及时调整经营策略,提升店铺竞争力;市场分析师借助大规模的商品详情数据
傅里叶变换在语音识别中的关键作用
从零开始学习人工智能
语音识别人工智能
在语音识别中,傅里叶变换起着至关重要的作用,主要体现在以下几个方面:一、时域到频域的转换语音信号的特点语音信号是一种时域信号,它随时间变化。例如,当我们说话时,声带的振动产生声波,这些声波在空气中传播,其振幅随时间不断变化。这种时域信号包含了丰富的信息,如音调、音色等,但这些信息在时域中并不是很容易直接提取。傅里叶变换能够将时域信号转换为频域信号。在频域中,语音信号被分解为不同频率成分的组合。以一
代码重构的智能化革命:告别机械重复,拥抱高效开发
前端
引言代码重构,一个听起来略显枯燥却至关重要的开发环节,常常被开发者视为一项费时费力的挑战。传统的代码重构方法往往需要开发者花费大量时间去理解复杂的代码逻辑,小心翼翼地进行修改,并时刻提防潜在的bug。这种低效的流程不仅拖慢了开发进度,也容易导致开发者身心俱疲,阻碍了整体开发效率的提升。因此,迫切需要更智能、更高效的工具来应对代码重构的挑战,帮助开发者从繁琐的机械劳动中解放出来,专注于更具创造性的工
使用 Go 语言生成样式美观的 PDF 文件
Ai 编码
Golang教程golangpdf开发语言
文章精选推荐1JetBrainsAiassistant编程工具让你的工作效率翻倍2ExtraIcons:JetBrainsIDE的图标增强神器3IDEA插件推荐-SequenceDiagram,自动生成时序图4BashSupportPro这个ides插件主要是用来干嘛的?5IDEA必装的插件:SpringBootHelper的使用与功能特点6Aiassistant,又是一个写代码神器7Cursor
继之前的线程循环加到窗口中运行
3213213333332132
javathreadJFrameJPanel
之前写了有关java线程的循环执行和结束,因为想制作成exe文件,想把执行的效果加到窗口上,所以就结合了JFrame和JPanel写了这个程序,这里直接贴出代码,在窗口上运行的效果下面有附图。
package thread;
import java.awt.Graphics;
import java.text.SimpleDateFormat;
import java.util
linux 常用命令
BlueSkator
linux命令
1.grep
相信这个命令可以说是大家最常用的命令之一了。尤其是查询生产环境的日志,这个命令绝对是必不可少的。
但之前总是习惯于使用 (grep -n 关键字 文件名 )查出关键字以及该关键字所在的行数,然后再用 (sed -n '100,200p' 文件名),去查出该关键字之后的日志内容。
但其实还有更简便的办法,就是用(grep -B n、-A n、-C n 关键
php heredoc原文档和nowdoc语法
dcj3sjt126com
PHPheredocnowdoc
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Current To-Do List</title>
</head>
<body>
<?
overflow的属性
周华华
JavaScript
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&q
《我所了解的Java》——总体目录
g21121
java
准备用一年左右时间写一个系列的文章《我所了解的Java》,目录及内容会不断完善及调整。
在编写相关内容时难免出现笔误、代码无法执行、名词理解错误等,请大家及时指出,我会第一时间更正。
&n
[简单]docx4j常用方法小结
53873039oycg
docx
本代码基于docx4j-3.2.0,在office word 2007上测试通过。代码如下:
import java.io.File;
import java.io.FileInputStream;
import ja
Spring配置学习
云端月影
spring配置
首先来看一个标准的Spring配置文件 applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi=&q
Java新手入门的30个基本概念三
aijuans
java新手java 入门
17.Java中的每一个类都是从Object类扩展而来的。 18.object类中的equal和toString方法。 equal用于测试一个对象是否同另一个对象相等。 toString返回一个代表该对象的字符串,几乎每一个类都会重载该方法,以便返回当前状态的正确表示.(toString 方法是一个很重要的方法) 19.通用编程:任何类类型的所有值都可以同object类性的变量来代替。
《2008 IBM Rational 软件开发高峰论坛会议》小记
antonyup_2006
软件测试敏捷开发项目管理IBM活动
我一直想写些总结,用于交流和备忘,然都没提笔,今以一篇参加活动的感受小记开个头,呵呵!
其实参加《2008 IBM Rational 软件开发高峰论坛会议》是9月4号,那天刚好调休.但接着项目颇为忙,所以今天在中秋佳节的假期里整理了下.
参加这次活动是一个朋友给的一个邀请书,才知道有这样的一个活动,虽然现在项目暂时没用到IBM的解决方案,但觉的参与这样一个活动可以拓宽下视野和相关知识.
PL/SQL的过程编程,异常,声明变量,PL/SQL块
百合不是茶
PL/SQL的过程编程异常PL/SQL块声明变量
PL/SQL;
过程;
符号;
变量;
PL/SQL块;
输出;
异常;
PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言PL/SQL 是对 SQL 的扩展,sql的执行时每次都要写操作
Mockito(三)--完整功能介绍
bijian1013
持续集成mockito单元测试
mockito官网:http://code.google.com/p/mockito/,打开documentation可以看到官方最新的文档资料。
一.使用mockito验证行为
//首先要import Mockito
import static org.mockito.Mockito.*;
//mo
精通Oracle10编程SQL(8)使用复合数据类型
bijian1013
oracle数据库plsql
/*
*使用复合数据类型
*/
--PL/SQL记录
--定义PL/SQL记录
--自定义PL/SQL记录
DECLARE
TYPE emp_record_type IS RECORD(
name emp.ename%TYPE,
salary emp.sal%TYPE,
dno emp.deptno%TYPE
);
emp_
【Linux常用命令一】grep命令
bit1129
Linux常用命令
grep命令格式
grep [option] pattern [file-list]
grep命令用于在指定的文件(一个或者多个,file-list)中查找包含模式串(pattern)的行,[option]用于控制grep命令的查找方式。
pattern可以是普通字符串,也可以是正则表达式,当查找的字符串包含正则表达式字符或者特
mybatis3入门学习笔记
白糖_
sqlibatisqqjdbc配置管理
MyBatis 的前身就是iBatis,是一个数据持久层(ORM)框架。 MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis对JDBC进行了一次很浅的封装。
以前也学过iBatis,因为MyBatis是iBatis的升级版本,最初以为改动应该不大,实际结果是MyBatis对配置文件进行了一些大的改动,使整个框架更加方便人性化。
Linux 命令神器:lsof 入门
ronin47
lsof
lsof是系统管理/安全的尤伯工具。我大多数时候用它来从系统获得与网络连接相关的信息,但那只是这个强大而又鲜为人知的应用的第一步。将这个工具称之为lsof真实名副其实,因为它是指“列出打开文件(lists openfiles)”。而有一点要切记,在Unix中一切(包括网络套接口)都是文件。
有趣的是,lsof也是有着最多
java实现两个大数相加,可能存在溢出。
bylijinnan
java实现
import java.math.BigInteger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class BigIntegerAddition {
/**
* 题目:java实现两个大数相加,可能存在溢出。
* 如123456789 + 987654321
Kettle学习资料分享,附大神用Kettle的一套流程完成对整个数据库迁移方法
Kai_Ge
Kettle
Kettle学习资料分享
Kettle 3.2 使用说明书
目录
概述..........................................................................................................................................7
1.Kettle 资源库管
[货币与金融]钢之炼金术士
comsci
金融
自古以来,都有一些人在从事炼金术的工作.........但是很少有成功的
那么随着人类在理论物理和工程物理上面取得的一些突破性进展......
炼金术这个古老
Toast原来也可以多样化
dai_lm
androidtoast
Style 1: 默认
Toast def = Toast.makeText(this, "default", Toast.LENGTH_SHORT);
def.show();
Style 2: 顶部显示
Toast top = Toast.makeText(this, "top", Toast.LENGTH_SHORT);
t
java数据计算的几种解决方法3
datamachine
javahadoopibatisr-languer
4、iBatis
简单敏捷因此强大的数据计算层。和Hibernate不同,它鼓励写SQL,所以学习成本最低。同时它用最小的代价实现了计算脚本和JAVA代码的解耦,只用20%的代价就实现了hibernate 80%的功能,没实现的20%是计算脚本和数据库的解耦。
复杂计算环境是它的弱项,比如:分布式计算、复杂计算、非数据
向网页中插入透明Flash的方法和技巧
dcj3sjt126com
htmlWebFlash
将
Flash 作品插入网页的时候,我们有时候会需要将它设为透明,有时候我们需要在Flash的背面插入一些漂亮的图片,搭配出漂亮的效果……下面我们介绍一些将Flash插入网页中的一些透明的设置技巧。
一、Swf透明、无坐标控制 首先教大家最简单的插入Flash的代码,透明,无坐标控制: 注意wmode="transparent"是控制Flash是否透明
ios UICollectionView的使用
dcj3sjt126com
UICollectionView的使用有两种方法,一种是继承UICollectionViewController,这个Controller会自带一个UICollectionView;另外一种是作为一个视图放在普通的UIViewController里面。
个人更喜欢第二种。下面采用第二种方式简单介绍一下UICollectionView的使用。
1.UIViewController实现委托,代码如
Eos平台java公共逻辑
蕃薯耀
Eos平台java公共逻辑Eos平台java公共逻辑
Eos平台java公共逻辑
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年6月1日 17:20:4
SpringMVC4零配置--Web上下文配置【MvcConfig】
hanqunfeng
springmvc4
与SpringSecurity的配置类似,spring同样为我们提供了一个实现类WebMvcConfigurationSupport和一个注解@EnableWebMvc以帮助我们减少bean的声明。
applicationContext-MvcConfig.xml
<!-- 启用注解,并定义组件查找规则 ,mvc层只负责扫描@Controller -->
<
解决ie和其他浏览器poi下载excel文件名乱码
jackyrong
Excel
使用poi,做传统的excel导出,然后想在浏览器中,让用户选择另存为,保存用户下载的xls文件,这个时候,可能的是在ie下出现乱码(ie,9,10,11),但在firefox,chrome下没乱码,
因此必须综合判断,编写一个工具类:
/**
*
* @Title: pro
挥洒泪水的青春
lampcy
编程生活程序员
2015年2月28日,我辞职了,离开了相处一年的触控,转过身--挥洒掉泪水,毅然来到了兄弟连,背负着许多的不解、质疑——”你一个零基础、脑子又不聪明的人,还敢跨行业,选择Unity3D?“,”真是不自量力••••••“,”真是初生牛犊不怕虎•••••“,••••••我只是淡淡一笑,拎着行李----坐上了通向挥洒泪水的青春之地——兄弟连!
这就是我青春的分割线,不后悔,只会去用泪水浇灌——已经来到
稳增长之中国股市两点意见-----严控做空,建立涨跌停版停牌重组机制
nannan408
对于股市,我们国家的监管还是有点拼的,但始终拼不过飞流直下的恐慌,为什么呢?
笔者首先支持股市的监管。对于股市越管越荡的现象,笔者认为首先是做空力量超过了股市自身的升力,并且对于跌停停牌重组的快速反应还没建立好,上市公司对于股价下跌没有很好的利好支撑。
我们来看美国和香港是怎么应对股灾的。美国是靠禁止重要股票做空,在
动态设置iframe高度(iframe高度自适应)
Rainbow702
JavaScriptiframecontentDocument高度自适应局部刷新
如果需要对画面中的部分区域作局部刷新,大家可能都会想到使用ajax。
但有些情况下,须使用在页面中嵌入一个iframe来作局部刷新。
对于使用iframe的情况,发现有一个问题,就是iframe中的页面的高度可能会很高,但是外面页面并不会被iframe内部页面给撑开,如下面的结构:
<div id="content">
<div id=&quo
用Rapael做图表
tntxia
rap
function drawReport(paper,attr,data){
var width = attr.width;
var height = attr.height;
var max = 0;
&nbs
HTML5 bootstrap2网页兼容(支持IE10以下)
xiaoluode
html5bootstrap
<!DOCTYPE html>
<html>
<head lang="zh-CN">
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">