- springboot nginx动静分离
o_瓜田李下_o
springbootnginx
springbootnginx动静分离应用:静态资源从nginx获取,动态资源从后端获取,减轻后端服务压力********************示例*************config层WebConfig@ConfigurationpublicclassWebConfigimplementsWebMvcConfigurer{@OverridepublicvoidaddViewControlle
- 算法练习篇目:删除有序数组中的重复项
无敌的牛
算法数据结构
由于题目是非严格递增数组,这个我们可以利用库中自带的函数erase来进行操作,如果连续两个字符相等你就删除一个。进行循环知道删除完毕。具体代码如下:classSolution{public:intremoveDuplicates(vector&nums){intpos=1;autoit=nums.begin();while(it!=nums.end()-1){if(*it==*(it+1)){nu
- 算法练习5
无敌的牛
算法算法
今天这道题目主要是通过类来实现的,运用了运算符重载等相关知识。先写一个日期的类,然后根据每月的天数,将给出的n天进行减法,每减一次month++,当month==13时,month=1,year++,当n-当月的天数usingnamespacestd;classdate{public:date(intyear,intmonth=1,intday=0){_year=year;_month=month
- 算法练习日记
2301_79973387
算法
day4力扣454题https://leetcode.cn/problems/4sum-ii/description/四数相加2:本题和二数相加、三数相加完全不同,本题不用考虑去重的情况,所以更加简单。用map记录nums1和nums2中各数字加起来的和出现了多少次。其中value是和,key是出现的次数。代码如下classSolution{public:intfourSumCount(vecto
- 毕设成品 基于机器学习的乳腺癌数据分析
m0_71572237
毕业设计python毕设
文章目录0简介模型评估KNNClassifierLogisticRegressionClassifierRandomForestClassifierDecisionTreeClassifierGBDT(GradientBoostingDecisionTree)ClassifierAdaBoostBaggingSVM最后0简介今天学长向大家分享一个毕业设计项目毕业设计基于机器学习的乳腺癌数据分析项目
- 【数据可视化应用】绘制类别插值地图(附Python代码)
文宇肃然
可视化工具数据分析实战应用python机器学习sklearn
sklearn.KNeighborsClassifier()终于这篇推文将机器学习和可视化完美的结合起来,即:机器学习处理数据,数据可视化技术展现、美化数据(以后的深度学习部分也会延续这个风格,只不过比重不同而已)。首先,我们给出我们今天的数据:散点数据和四川省的地图文件,python读取操作如下:import pandas as pdimport numpy as npfrom sklearn.
- python3.12 搭建MinerU 环境遇到的问题解决
多云几多
python人工智能linux
报错:AttributeError:module'pkgutil'hasnoattribute'ImpImporter'.Didyoumean:'zipimporter'?ERROR:Exception:Traceback(mostrecentcalllast):File"D:\ipa_workspace\MinerU\Lib\site-packages\pip\_internal\cli\bas
- 单例模式(Singleton Pattern)
m0_55576290
c++设计模式单例模式javascript开发语言
单例模式(SingletonPattern)任务管理器可以作为一个全局的任务配置管理类,使用单例模式保证全局只有一个实例。这样你可以避免在应用程序中创建多个任务管理对象,保持配置参数的统一。示例:classTaskManager{private:staticTaskManager*instance;TaskManager(){}//私有构造函数public:staticTaskManager*ge
- C++:设计模式-单例模式
六月的翅膀
C++单例模式c++设计模式
单例模式(SingletonPattern)是一种设计模式,确保一个类只有一个实例,并且提供全局访问点。实现单例模式的关键是防止类被多次实例化,且能够保证实例的唯一性。常见的实现手法包括懒汉式、饿汉式、线程安全的懒汉式等。1.饿汉式(EagerInitialization)饿汉式单例在程序启动时就创建实例,并且保证只有一个实例。适用于单例实例比较简单、没有资源消耗问题的情况。classSingle
- WPF 设置窗口在屏幕中央显示
魑魅魍魉都是鬼
c#wpfwindow
在InitializeComponent();之前添加WindowStartupLocation=WindowStartupLocation.CenterScreen;//////InteractionlogicforMainWindow.xaml///publicpartialclassMainWindow:Window{publicMainWindow(){WindowStartupLocat
- SpringBoot分布式项目中MyBatis实战技巧:从配置到性能优化
潘多编程
springboot分布式mybatis
引言在分布式系统架构中,SpringBoot与MyBatis的组合已成为企业级开发的黄金搭档。但在实际项目中,开发者常面临多数据源管理、SQL性能优化、分布式事务等挑战。本文将从实战角度出发,分享7个关键技巧和避坑指南。一、多数据源动态切换实战1.1多数据源配置@ConfigurationpublicclassDataSourceConfig{@Bean(name="masterDataSourc
- Leetcode:347. 前 K 个高频元素(C++)
Cosmoshhhyyy
LeetCodec++leetcode算法数据结构
目录问题描述:实现代码与解析:基于堆排:原理思路:优先级队列:问题描述:给你一个整数数组nums和一个整数k,请你返回其中出现频率前k高的元素。你可以按任意顺序返回答案。示例1:输入:nums=[1,1,1,2,2,3],k=2输出:[1,2]示例2:输入:nums=[1],k=1输出:[1]实现代码与解析:基于堆排:classSolution{public:structmyComparison{
- 实现MFC自定义按钮功能的完整指南
三年九班蓝同学
本文还有配套的精品资源,点击获取简介:在MFC框架中创建自定义按钮通常涉及扩展CButton类以支持图像显示。文章将详细说明如何通过派生类和消息处理来创建支持图像的按钮,包括加载和设置图像、重写绘制函数以及响应鼠标事件。最终,将介绍如何在对话框中应用这些自定义按钮,并提供代码示例来实现这些功能。1.MFCCButton类简介MFC(MicrosoftFoundationClasses)是微软公司提
- 超详细Python教程——面向对象编程基础
月流霜
llama人工智能深度学习AIGCpython
面向对象编程基础活在当下的程序员应该都听过"面向对象编程"一词,也经常有人问能不能用一句话解释下什么是"面向对象编程",我们先来看看比较正式的说法。"把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化(specialization)和泛化(genera
- 设计模式之代理模式
小猿要努力变强
设计模式设计模式代理模式
一、代理模式(静态代理)举个生活小李子:假如你现在需要买房,你是客户,但是你自己不想去找房源,你会找一个中介帮你去做这件事。此时你就是被代理对象,而中介则是代理对象,代理对象可以帮你实现你不想实现的功能。看代码://客户publicinterfaceUser{//找房源voidfindHouse();}//我(被代理对象publicclassMeimplementsUser{@Overridepu
- String类的模拟实现
思麟呀
c++算法开发语言
我们在使用STL库的时候,不仅需要掌握如何使用,我们还需要了解一些底层的模拟实现。1:需要模拟实现的string类函数#pragmaonce#include#include#includeusingnamespacestd;namespacebit{classstring{friendostream&operator>(istream&_cin,bit::string&s);public:type
- tomcat提高图片服务器性能,Tomcat配置详解与性能优化方案
李子骅 luin
tomcat提高图片服务器性能
元素:为特定的Service处理所有的请示。每个Service只能包含一个Engine元素,它负责接收和处理此Service所有的连接器收到的请求,向连接发回响应,并最终显示在客户端。至少有一个元素,必须至少有一个属性的名字与defaultHost指定的名字相匹配。属性:className:实现org.apache.catalina.Engine接口,默认实现类为org.apache.catali
- 【算法打卡---7.24】
人间凡尔赛
每日一练leetcode算法职场和发展
提示:以下是本篇文章正文内容,下面案例可供参考一、Nim游戏classSolution{public:boolcanWinNim(intn){if(n/4==0)returntrue;if(n%4==0)returnfalse;returntrue;}};二、灯泡开关classSolution{public:intbulbSwitch(intn){returnsqrt(n);}};总结只要学不死,
- 算法打卡-day9
EagleOwl606
算法java数据结构
递归二分查找publicclassE03BinarySearch{publicstaticintsearch(int[]a,inttarget){returnf(a,target,0,a.length-1);}publicstaticvoidmain(String[]args){}//i为起始索引privatestaticintf(int[]a,inttarget,inti,intj){//出口i
- 【有状态类一定是多例吗?无状态类一定是单例吗?】
严文文-Chris
编程软件工程
有状态类一定是多例吗?无状态类一定是单例吗?答案是否定的。有状态类和无状态类与单例/多例模式是正交概念,它们可以自由组合,具体如何设计取决于业务需求。下面详细分析:1.有状态类≠多例有状态类可以是单例场景:当全局只需要一个实例,并且该实例需要维护某些状态时。例子:全局计数器(单例+有状态):publicclassGlobalCounter{privatestaticfinalGlobalCount
- Android设计模式之工厂方法模式
木子庆五
设计模式工厂方法模式android
一、定义:定义一个用于创建对象的接口,让子类决定实例化哪个类。二、组成:1.抽象工厂:工厂模式的核心,声明工厂方法,返回抽象产品对象。2.具体工厂:实现工厂方法,返还具体的产品对象。3.抽象产品:定义产品的相关接口。4.具体产品:实现抽象产品的具体类。三、具体例子:抽象产品publicabstractclassProduct{publicabstractvoidmethod();}具体产品Apub
- [报错]java.lang.ClassCastException
weixin_30782331
java
Causedby:java.lang.ClassCastException:org.apache.xml.dtm.ref.DTMManagerDefaultcannotbecasttoorg.apache.xml.dtm.DTMManagerErrorwhileaddingthemapper'interfacecom.a.b.c'toconfiguration.原因:org.apache.xala
- 社招 Java 中厂面试记录,难度有点大!
个人情况:社招一年半面试公司:上海海鼎信息和深圳小赢科技面试感受:总体难度还是有点大的,第二家公司拷打的问题非常非常多,一共60个问题,多少有点离谱儿。不过,面试体验很好,面试官会引导往哪个方向思考。一面请做一下自我介绍。请介绍一下你参与过的项目。请解释一下接口(Interface)和抽象类(AbstractClass)的区别。什么是受检异常(CheckedException)和非受检异常(Unc
- Idea快捷键
路飞sky
ideaidea快捷键
Idea快捷键Ctrl+n找classCtrl+shift+n找文件Ctrl+Shift+F,全局查找Alt+f7查看引用Ctrl+Alt+f7弹小窗口查看引用Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按F3可以选择F11自己配置,深入查看F12自己配置,直接查看实现类Ctrl+f12查看类中方法Ctrl+U,转到父类Ctrl+G,定位行Ctrl+o重写Ctrl+I实现接口Alt+i
- 【1】数据结构的顺序表章
_x_w
#数据结构理论原理数据结构python开发语言
目录顺序表的定义顺序表的初始化顺序表的查找按序号查找按内容查找顺序表的插入与删除插入删除顺序表的合并顺序表的调试与总代码顺序表的定义用顺序存储结构实现的线性表成为顺序表物理存储地址为相邻顺序的存储结构顺序表的初始化顺序表的定义初始化顺序表判断是否为空表获取表的长度展示顺序表classSeqList:"""顺序表的定义"""#初始化顺序表def__init__(self,maxSize):"""初始
- OpenBMC:BmcWeb 生效路由4 将路由添加到Trie中
风静如云
OpenBMClinux
OpenBMC:BmcWeb生效路由1基于method分类路由_openbmcweb-CSDN博客介绍了internalAdd会把路由对象加入到PerMethod::rules中OpenBMC:BmcWeb生效路由3Trie字典树添加节点-CSDN博客介绍了Trie字典树的工作方式classRouter{std::array(
- ChatGPT 写代码浅尝--“TypeScript 怎么获取上个月的今天”
胡琦博客
ChatGPTtypescriptjavascript
这是最好的时代,也是最坏的时代,生产力工具的不断进化,作为普通人面临的挑战也越来越巨大。今天有幸使用CHatGPT来编写代码,一起来看看吧,比如她是如何解答“TypeScript怎么获取上个月的今天”这个问题的。Q:TypeScript怎么获取上个月的今天ChatGPT:您可以使用JavaScript中的Date对象来获取上个月的今天。以下是一种获取上个月的今天的TypeScript代码示例:fu
- SpringMVC04:数据处理及跳转
LI JS@你猜啊
springmvc系列笔记javaspringeureka
结果跳转方式ModelAndView设置ModelAndView对象,根据view的名称,和视图解析器跳到指定的页面.页面:{视图解析器前缀}+viewName+{视图解析器后缀}对应的controller类publicclassControllerTest1implementsController{publicModelAndViewhandleRequest(HttpServletReques
- java8获取两个list的交集和差集_java8两个List集合取交集、并集、差集、去重并集...
勃而纸巾非智者
importjava.util.ArrayList;importjava.util.List;importstaticjava.util.stream.Collectors.toList;publicclassTest{publicstaticvoidmain(String[]args){Listlist1=newArrayList();list1.add("1");list1.add("2");
- 设计模式:单例模式
emo了小猫
单例模式设计模式
设计模式:单例模式定义单例模式(SingletonPattern):确保某一个类只有一个实例,而且自行实例并向整个系统提供这个实例。是所有设计模式中最简单的模式。模式分析目的保证一个类只有一个实例,并且提供一个访问它的全局访问点。代码实现publicclassSingleton{//静态私有成员变量privatestaticSingletoninstance;//私有构造函数privateSing
- 统一思想认识
永夜-极光
思想
1.统一思想认识的基础,才能有的放矢
原因:
总有一种描述事物的方式最贴近本质,最容易让人理解.
如何让教育更轻松,在于找到最适合学生的方式.
难点在于,如何模拟对方的思维基础选择合适的方式. &
- Joda Time使用笔记
bylijinnan
javajoda time
Joda Time的介绍可以参考这篇文章:
http://www.ibm.com/developerworks/cn/java/j-jodatime.html
工作中也常常用到Joda Time,为了避免每次使用都查API,记录一下常用的用法:
/**
* DateTime变化(增减)
*/
@Tes
- FileUtils API
eksliang
FileUtilsFileUtils API
转载请出自出处:http://eksliang.iteye.com/blog/2217374 一、概述
这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的类FilenameUtils跟FileUtils,其中FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开发中对文件的操作,几乎都可以在这个框架里面找到。 非常的好用。
- 各种新兴技术
不懂事的小屁孩
技术
1:gradle Gradle 是以 Groovy 语言为基础,面向Java应用为主。基于DSL(领域特定语言)语法的自动化构建工具。
现在构建系统常用到maven工具,现在有更容易上手的gradle,
搭建java环境:
http://www.ibm.com/developerworks/cn/opensource/os-cn-gradle/
搭建android环境:
http://m
- tomcat6的https双向认证
酷的飞上天空
tomcat6
1.生成服务器端证书
keytool -genkey -keyalg RSA -dname "cn=localhost,ou=sango,o=none,l=china,st=beijing,c=cn" -alias server -keypass password -keystore server.jks -storepass password -validity 36
- 托管虚拟桌面市场势不可挡
蓝儿唯美
用户还需要冗余的数据中心,dinCloud的高级副总裁兼首席营销官Ali Din指出。该公司转售一个MSP可以让用户登录并管理和提供服务的用于DaaS的云自动化控制台,提供服务或者MSP也可以自己来控制。
在某些情况下,MSP会在dinCloud的云服务上进行服务分层,如监控和补丁管理。
MSP的利润空间将根据其参与的程度而有所不同,Din说。
“我们有一些合作伙伴负责将我们推荐给客户作为个
- spring学习——xml文件的配置
a-john
spring
在Spring的学习中,对于其xml文件的配置是必不可少的。在Spring的多种装配Bean的方式中,采用XML配置也是最常见的。以下是一个简单的XML配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.or
- HDU 4342 History repeat itself 模拟
aijuans
模拟
来源:http://acm.hdu.edu.cn/showproblem.php?pid=4342
题意:首先让求第几个非平方数,然后求从1到该数之间的每个sqrt(i)的下取整的和。
思路:一个简单的模拟题目,但是由于数据范围大,需要用__int64。我们可以首先把平方数筛选出来,假如让求第n个非平方数的话,看n前面有多少个平方数,假设有x个,则第n个非平方数就是n+x。注意两种特殊情况,即
- java中最常用jar包的用途
asia007
java
java中最常用jar包的用途
jar包用途axis.jarSOAP引擎包commons-discovery-0.2.jar用来发现、查找和实现可插入式接口,提供一些一般类实例化、单件的生命周期管理的常用方法.jaxrpc.jarAxis运行所需要的组件包saaj.jar创建到端点的点到点连接的方法、创建并处理SOAP消息和附件的方法,以及接收和处理SOAP错误的方法. w
- ajax获取Struts框架中的json编码异常和Struts中的主控制器异常的解决办法
百合不是茶
jsjson编码返回异常
一:ajax获取自定义Struts框架中的json编码 出现以下 问题:
1,强制flush输出 json编码打印在首页
2, 不强制flush js会解析json 打印出来的是错误的jsp页面 却没有跳转到错误页面
3, ajax中的dataType的json 改为text 会
- JUnit使用的设计模式
bijian1013
java设计模式JUnit
JUnit源代码涉及使用了大量设计模式
1、模板方法模式(Template Method)
定义一个操作中的算法骨架,而将一些步骤延伸到子类中去,使得子类可以不改变一个算法的结构,即可重新定义该算法的某些特定步骤。这里需要复用的是算法的结构,也就是步骤,而步骤的实现可以在子类中完成。
- Linux常用命令(摘录)
sunjing
crondchkconfig
chkconfig --list 查看linux所有服务
chkconfig --add servicename 添加linux服务
netstat -apn | grep 8080 查看端口占用
env 查看所有环境变量
echo $JAVA_HOME 查看JAVA_HOME环境变量
安装编译器
yum install -y gcc
- 【Hadoop一】Hadoop伪集群环境搭建
bit1129
hadoop
结合网上多份文档,不断反复的修正hadoop启动和运行过程中出现的问题,终于把Hadoop2.5.2伪分布式安装起来,跑通了wordcount例子。Hadoop的安装复杂性的体现之一是,Hadoop的安装文档非常多,但是能一个文档走下来的少之又少,尤其是Hadoop不同版本的配置差异非常的大。Hadoop2.5.2于前两天发布,但是它的配置跟2.5.0,2.5.1没有分别。 &nb
- Anychart图表系列五之事件监听
白糖_
chart
创建图表事件监听非常简单:首先是通过addEventListener('监听类型',js监听方法)添加事件监听,然后在js监听方法中定义具体监听逻辑。
以钻取操作为例,当用户点击图表某一个point的时候弹出point的name和value,代码如下:
<script>
//创建AnyChart
var chart = new AnyChart();
//添加钻取操作&quo
- Web前端相关段子
braveCS
web前端
Web标准:结构、样式和行为分离
使用语义化标签
0)标签的语义:使用有良好语义的标签,能够很好地实现自我解释,方便搜索引擎理解网页结构,抓取重要内容。去样式后也会根据浏览器的默认样式很好的组织网页内容,具有很好的可读性,从而实现对特殊终端的兼容。
1)div和span是没有语义的:只是分别用作块级元素和行内元素的区域分隔符。当页面内标签无法满足设计需求时,才会适当添加div
- 编程之美-24点游戏
bylijinnan
编程之美
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;
public class PointGame {
/**编程之美
- 主页面子页面传值总结
chengxuyuancsdn
总结
1、showModalDialog
returnValue是javascript中html的window对象的属性,目的是返回窗口值,当用window.showModalDialog函数打开一个IE的模式窗口时,用于返回窗口的值
主界面
var sonValue=window.showModalDialog("son.jsp");
子界面
window.retu
- [网络与经济]互联网+的含义
comsci
互联网+
互联网+后面是一个人的名字 = 网络控制系统
互联网+你的名字 = 网络个人数据库
每日提示:如果人觉得不舒服,千万不要外出到处走动,就呆在床上,玩玩手游,更不能够去开车,现在交通状况不
- oracle 创建视图 with check option
daizj
视图vieworalce
我们来看下面的例子:
create or replace view testview
as
select empno,ename from emp where ename like ‘M%’
with check option;
这里我们创建了一个视图,并使用了with check option来限制了视图。 然后我们来看一下视图包含的结果:
select * from testv
- ToastPlugin插件在cordova3.3下使用
dibov
Cordova
自己开发的Todos应用,想实现“
再按一次返回键退出程序 ”的功能,采用网上的ToastPlugins插件,发现代码或文章基本都是老版本,运行问题比较多。折腾了好久才弄好。下面吧基于cordova3.3下的ToastPlugins相关代码共享。
ToastPlugin.java
package&nbs
- C语言22个系统函数
dcj3sjt126com
cfunction
C语言系统函数一、数学函数下列函数存放在math.h头文件中Double floor(double num) 求出不大于num的最大数。Double fmod(x, y) 求整数x/y的余数。Double frexp(num, exp); double num; int *exp; 将num分为数字部分(尾数)x和 以2位的指数部分n,即num=x*2n,指数n存放在exp指向的变量中,返回x。D
- 开发一个类的流程
dcj3sjt126com
开发
本人近日根据自己的开发经验总结了一个类的开发流程。这个流程适用于单独开发的构件,并不适用于对一个项目中的系统对象开发。开发出的类可以存入私人类库,供以后复用。
以下是开发流程:
1. 明确类的功能,抽象出类的大概结构
2. 初步设想类的接口
3. 类名设计(驼峰式命名)
4. 属性设置(权限设置)
判断某些变量是否有必要作为成员属
- java 并发
shuizhaosi888
java 并发
能够写出高伸缩性的并发是一门艺术
在JAVA SE5中新增了3个包
java.util.concurrent
java.util.concurrent.atomic
java.util.concurrent.locks
在java的内存模型中,类的实例字段、静态字段和构成数组的对象元素都会被多个线程所共享,局部变量与方法参数都是线程私有的,不会被共享。
- Spring Security(11)——匿名认证
234390216
Spring SecurityROLE_ANNOYMOUS匿名
匿名认证
目录
1.1 配置
1.2 AuthenticationTrustResolver
对于匿名访问的用户,Spring Security支持为其建立一个匿名的AnonymousAuthenticat
- NODEJS项目实践0.2[ express,ajax通信...]
逐行分析JS源代码
Ajaxnodejsexpress
一、前言
通过上节学习,我们已经 ubuntu系统搭建了一个可以访问的nodejs系统,并做了nginx转发。本节原要做web端服务 及 mongodb的存取,但写着写着,web端就
- 在Struts2 的Action中怎样获取表单提交上来的多个checkbox的值
lhbthanks
javahtmlstrutscheckbox
第一种方法:获取结果String类型
在 Action 中获得的是一个 String 型数据,每一个被选中的 checkbox 的 value 被拼接在一起,每个值之间以逗号隔开(,)。
所以在 Action 中定义一个跟 checkbox 的 name 同名的属性来接收这些被选中的 checkbox 的 value 即可。
以下是实现的代码:
前台 HTML 代码:
- 003.Kafka基本概念
nweiren
hadoopkafka
Kafka基本概念:Topic、Partition、Message、Producer、Broker、Consumer。 Topic: 消息源(Message)的分类。 Partition: Topic物理上的分组,一
- Linux环境下安装JDK
roadrunners
jdklinux
1、准备工作
创建JDK的安装目录:
mkdir -p /usr/java/
下载JDK,找到适合自己系统的JDK版本进行下载:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
把JDK安装包下载到/usr/java/目录,然后进行解压:
tar -zxvf jre-7
- Linux忘记root密码的解决思路
tomcat_oracle
linux
1:使用同版本的linux启动系统,chroot到忘记密码的根分区passwd改密码 2:grub启动菜单中加入init=/bin/bash进入系统,不过这时挂载的是只读分区。根据系统的分区情况进一步判断. 3: grub启动菜单中加入 single以单用户进入系统. 4:用以上方法mount到根分区把/etc/passwd中的root密码去除 例如: ro
- 跨浏览器 HTML5 postMessage 方法以及 message 事件模拟实现
xueyou
jsonpjquery框架UIhtml5
postMessage 是 HTML5 新方法,它可以实现跨域窗口之间通讯。到目前为止,只有 IE8+, Firefox 3, Opera 9, Chrome 3和 Safari 4 支持,而本篇文章主要讲述 postMessage 方法与 message 事件跨浏览器实现。postMessage 方法 JSONP 技术不一样,前者是前端擅长跨域文档数据即时通讯,后者擅长针对跨域服务端数据通讯,p