- SQLAlchemy:Python SQL工具包和对象关系映射器
零 度°
pythonpython
SQLAlchemy是一个PythonSQL工具包和对象关系映射器(ORM),它提供了一个高层的ORM以及底层的SQL表达式语言。SQLAlchemy是数据驱动的应用程序的常用工具,它能够与多种数据库后端进行交互,包括但不限于SQLite、MySQL、PostgreSQL和MicrosoftSQLServer。SQLAlchemy的主要特点ORM:将Python类映射到数据库表。SQL表达式语言:
- pycharm/django链接mysql配置
ww252757188
djangomysqlpycharm
1、settings.py中配置databasesDATABASES={'default':{'ENGINE':'django.db.backends.mysql',#配置数据库类型'NAME':'test',#数据库名字'USER':'root',#数据库用户'PASSWORD':'mysql',#数据库密码'HOST':'127.0.0.1',#数据库地址'PORT':'3306',#数据库端
- MySQL 锁原理通过 6 个死锁案例,让你彻底理解 MySQL 锁机制,死锁的原因
苹果醋3
面试题汇总与解析nginx运维javaspringbootmysql
Mysql锁类型和加锁分析MySQL有三种锁的级别:页级、表级、行级。1、表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。2、行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。3、页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度算法:1、nextKeyLocks锁,同时锁住记录(数据),
- Docker入门
m0_59227243
dockerjava容器
目录第一章Docker安装与卸载docker安装docker卸载第二章Docker常用命令第三章es、nginx、tomcat部署(1)nginx部署(2)tomcat部署(3)es部署可视化commit镜像第四章DockerFileCMD与ENTRYPOINT的区别实验第五章容器数据卷MySQL数据持久化具名挂载与匿名挂载DockerFile挂载数据卷容器第六章镜像发布第七章Docker网络li
- 揭秘MySQL中基于负载的自适应缓存资源调度策略——让数据库响应更敏捷
墨夶
数据库学习资料2数据库mysql缓存
在当今数据密集型应用日益普及的时代,数据库性能成为了影响用户体验和服务质量的关键因素之一。对于像MySQL这样的关系型数据库管理系统(RDBMS),如何有效地管理和分配缓存资源,以确保系统能够在高负载情况下依然保持高效运行,成为了开发者和运维人员共同关注的话题。今天,我们将深入探讨一种创新的方法——基于负载的自适应缓存资源调度策略,并展示其具体实现过程。为什么选择自适应缓存?传统的缓存管理方式通
- 【MySQL】sql给表起别名
CAFE~BABE
MysqlSQL表别名as数据库操作查询优化
有时候,在对数据库中的表进行操作的时候,发现表名比较冗长,这时候我们就需要对表创建一个别名,别名的关键字为as(也可以不加)。现在有一个student表,结构如下:现在我认为student太长了我不想一直打。sql语句如下selecta.Sno,a.Sname,a.Sagefromstudentasa(as可以去掉)结果如下:我们就对student取了一个别名叫做a当然一个表的时候我们就没有必要这
- 开源 OA 办公系统
自不量力的A同学
人工智能
目前尚未有关于勾股OA5.6.8新春版发布的相关确切信息,但勾股OAv5.6已于2025年1月19日发布2。勾股OA是一款基于ThinkPHP6+Layui+MySql打造的实用的开源的企业办公系统2。勾股OAv5.6的相关信息如下2:系统特点系统各功能模块一目了然,操作简单,拥有通用型的后台权限管理框架,可全覆盖跟踪员工的操作记录。集成了系统设置、人事管理、行政管理、消息管理、企业公告、知识库、
- Debezium系列之:基于Debezium JDBC connector消费Topic数据到Mysql数据库
快乐骑行^_^
debeziumDebezium系列JDBCconnector消费Topic数据Mysql数据库
Debezium系列之:基于DebeziumJDBCconnector消费Topic数据到Mysql数据库一、需求背景二、相关技术博客三、创建表四、使用Debezium2.Xmysqlconnector采集数据五、数据库插入数据和查看Topic数据六、DebeziumJDBCconnector完整配置七、DebeziumJDBCconnector参数详解八、源库插入数据,查看debeziumjdb
- MySQL 常用命令
云水一方
数据库mysql大数据
MySQL是一种流行的关系型数据库管理系统,其高效的性能和丰富的功能使其成为众多开发者的首选。在日常操作中,掌握MySQL的常用命令至关重要。以下是一些MySQL常用命令及其解释。️数据库操作命令1.登录数据库mysql-u[username]-p-u指定用户名。-p提示输入密码。2.显示所有数据库SHOWDATABASES;查看当前MySQL实例中的所有数据库。3.✨创建数据库CREATEDAT
- Linux 上 MySQL 8.0 的备份与恢复实战指南
云水一方
mysqllinux大数据数据仓库运维数据库
在数据库运维过程中,备份与恢复是保障数据安全的重要手段。MySQL8.0在Linux环境中提供了多种备份和恢复方案,包括逻辑备份和物理备份。本文将介绍这些备份方式的操作步骤与逻辑实现,帮助您高效管理数据库。一、备份与恢复的作用和意义数据安全:防止因误操作、硬件故障或恶意攻击导致的数据丢失。容灾恢复:在灾难发生后快速恢复业务功能,减少停机时间。数据迁移:支持数据库迁移至新环境或硬件。二、备份方式概览
- 基于Tomcat构建LNMT架构的网站并实现Session保持
weixin_33795833
后端java前端ViewUI
基于Tomcat构建LNMT架构的网站并实现Session保持-小小忍者-51CTO技术博客简介LNMT=Linux+Nginx+MySQL+Tomcat;Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器;在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选;架构需求Tomcat实现JSP动态请求解析的基本架构说明:由后端Tomcat负
- MySql-MySqlConnector
DataLu
MySql-debeziummysql数据库数据库开发大数据开源java
提示:MySqlConnector类的主要职责是从MySQL数据库中捕获数据变更,并将这些变更以事件的形式发布到Kafka中。这使得下游的应用程序可以通过订阅Kafka主题来实时获取MySQL数据库中的变更信息。文章目录前言一、核心功能二、代码分析总结前言提示:MySqlConnector类是一个关键组件,它负责设置和管理整个数据捕获流程,从配置到数据库连接,再到数据变更事件的捕获和发送。这对于实
- 深入探索数据库世界:SQLite、Redis、MySQL 与数据库设计范式
巴依老爷coder
数据库数据库sqliteredis网络安全mysqlsqldatabase
数据库深入探索数据库世界:SQLite、Redis、MySQL与数据库设计范式一、SQLite数据库全方位解析(一)创建与基本操作(二)数据存储与表结构设计(三)数据操作:增删改查(四)与C语言联合使用(五)防止SQL注入二、Redis数据库深度剖析(一)数据存储类型与独特结构(二)数据持久化策略(三)卓越性能表现与应用场景三、MySQL数据库概览(一)创建数据库与表(二)数据操作与C语言交互四、
- MySQL系列之(一)---MySQL使用方法总结(不断更新)
Frodo先生
MySQL不断更新系列
MySQL的使用方法总结在这里先标注上个人认为其他朋友总结的最好的MySQL的学习笔记:这个网站是一大佬博客,名字叫格物,特别值得学习,还有资料可以学习一千行MySQL学习笔记MySQL复习笔记(实例全)1.数据库的介绍数据库就是存储和管理数据的仓库,数据按照一定的格式进行存储,用户可以对数据库中的数据进行增加、修改、删除、查询等操作。2.数据库的分类关系型数据库非关系型数据库关系型数据库:是指采
- mysql having用法介绍
xiaoweids
数据库mysqlmysql数据库
having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在groupby和having字句前,下面通过实例给大家介绍mysqlhaving用法,一起看看吧having的用法having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在groupby和having字句前。而having子句在聚合后对组记录进行筛选。SQL实例:一
- mysql脏读解决方案_MySQL数据库的核心知识点
杜绍斐 DUSHAOFEI
mysql脏读解决方案
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。数据库的使用,是
- MySQL实战教程:从小白到大神的进阶之路!
奔跑吧邓邓子
项目实战mysql数据库
目录一、MySQL概述1、MySQL简介1.1MySQL的历史背景1.2MySQL的特点1.3MySQL的应用场景1.4MySQL的版本2、MySQL发展历程2.1MySQL的起源2.2MySQL的早期发展2.3MySQL的成熟与普及2.4MySQL的商业化与收购2.5MySQL的持续创新3、MySQL应用场景3.1Web应用程序3.2企业级应用3.3大数据分析3.4移动应用3.5云计算3.6物联
- MySql having语句
嗜血人偶
sql数据库
四.having子句1.语法:select查询内容from表名[where条件][groupby分组字段][having条件][orderby字段名asc|desc]selectfrom--->where过滤--->groupby--->having过滤--1.列如:每个部门不同岗位人数,且人数大于2selectcount(*)fromempwherecount(*)>2groupbydeptno
- MySQL-HAVING语句
Onecat_j
MySQLmysql
语法SELECTcolumn1,column2,...column_n,aggregate_function(expression)FROMtablesWHEREpredicatesGROUPBYcolumn1,column2,...column_nHAVINGcondition1...condition_n;用法where、聚合函数、having在from后面的执行顺序:where>聚合函数(s
- MySQL Redo Log 两阶段提交
十字蹄花
mysqlmysql数据库
MySQLRedoLog两阶段提交(2PC)1.两阶段提交(2PC)流程两阶段提交确保RedoLog和Binlog一致,流程如下:第一阶段:Prepare事务执行SQL,修改数据。RedoLog记录写入磁盘,但标记为prepare状态(数据未真正提交)。MySQLServer层通知事务已准备好提交。第二阶段:CommitBinlog写入并刷盘(保证不会丢失)。RedoLog变更为commit状态。
- window10同时安装mysql5.7和mysql8.4.X
寒江雪江南岸蓑笠翁
mysqljava
前提:window10已经安装了mysql5.7想再安装个mysql8.4.x步骤1:去官网下载mysql8.4.Xhttps://dev.mysql.com/downloads/mysql/步骤2:解压后mysql根目录添加my.ini文件如下,注意端口改为3308(3306已经被mysql5.7占用了):[mysqld]#mysql_native_password=ON#default_aut
- 【云原生】Docker 部署 Nacos使用详解
逆风飞翔的小叔
运维docker搭建nacos详解docker部署nacosdocker安装nacos腾讯云搭建nacoscentos7搭建nacos
目录一、前言二、使用Docker部署Nacos2.1环境准备2.2搭建Nacos操作过程2.2.1拉取Nacos镜像2.2.2创建配置数据库2.2.3启动容器2.2.4删除nacos容器2.2.5再次启动容器2.2.6访问nacos三、基于Centos7搭建Nacos3.1搭建过程3.1.1服务器环境3.1.2mysql环境3.1.3提前下载安装包3.1.4初始化sql脚本3.1.5修改配置文件3
- InnoDB 存储引擎浅析
暮光巨魔
数据库mysql
InnoDB存储引擎浅析InnoDB主要分为两大块:InnoDB内存架构(InnoDBIn-MemoryStructures)InnoDB磁盘架构(InnoDBOn-DiskStructures)InnoDB内存架构BufferPool当我们执行dml语句时,mysql不会直接去修改磁盘数据,因为这样做太慢了,mysq会先改内存,然后记录redolog和binlog(redolog和binlog采
- SQLAlchemy
呀儿呦丶
Python#SQLAlchemy数据库pythonmysql
1.介绍SQLAlchemy以其对象关系映射器(ORM)而闻名,它是一个提供数据映射器模式的可选组件,其中类可以以开放式、多种方式映射到数据库——允许对象模型和数据库模式在一个从一开始就干净地解耦。简单来讲只需要用python的语法来操作对象,就能被自动映射为sql语句。sqlalchemy第三方orm框架(对象关系映射),可以单独使用。底层依附于pymysql2.安装pipinstallsqla
- MySQL架构设计浅析
JackieGGu
MySQLmysqlinnodb架构设计
文章目录1.MySQL相关文件(目录)路径1.1配置文件1.2数据目录1.3日志文件(建议关闭)1.4数据文件2.MySQL的逻辑架构2.1server层2.2引擎层3.InnoDB引擎数据更新流程4.InnoDB引擎脏页落盘流程4.1为什么需要脏页落盘4.2落盘的时机4.3落盘的流程1.MySQL相关文件(目录)路径1.1配置文件/etc/my.cnf/etc/mysql/my.cnf/usr/
- 漫谈架构
部落王
随笔
1、什么是架构和架构本质在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。此君说的架构和彼君理解的架构未必是一回事。LInux有架构,MySQL有架构,JVM也有架构,使用Java开发、MySQL存储、跑在Linux上的业务系统也有架构,应该关注哪一个?想要清楚以上问题需要梳理几个有关系又相似的概念:系统与子系统、模块与组建、框架与架构:一、系统与子系统系统:泛指由一群有关联的个体
- mysql 单进程多线程_关于单线程数据库与多线程数据库性能
兰德水
mysql单进程多线程
这是我的意见:通常,DB系统的瓶颈(或最慢的部分)是磁盘.CPU仅在算术运算,处理或CPU执行的任何其他任务期间出现峰值.通过适当的体系结构,多线程可以帮助将查询的负载抵消到CPU上,而不是进行慢速磁盘读/写操作.在某些情况下,使用CPU周期计算值更快,而不是创建计算列(之前已保存到磁盘)并从磁盘读取此列.在某些RDBMS中,有一个临时DB(tempdb),该实例上的所有DB都使用它来进行排序,散
- 【mysql】mysql多线程
绝世好阿狸
mysqlmysql线程数据库内存
mysql是一个单进程多线程的数据库,在innodb中大概有一下几种线程:(1)MasterThread:这是主线程,非常核心,其用途主要是做一些周期性的任务,在不同的innodb版本其功能不同,这里就看最早期的版本。早起的innodbMaster线程会有两种频率的任务,一种是每1秒一次的,还有每10秒一次的。每1秒的工作:1.刷新日志;2.刷新至多100个脏页3.合并插入缓冲;4.如果空闲切为b
- 怎么创建一个能在线测试php的html5网页?
很酷的站长
编程记录html5专题php专题phphtml5开发语言
代码示例:一、搭建服务器环境首先,你需要在服务器上搭建PHP运行环境。如果你使用的是Linux服务器,可以使用Apache或Nginx作为Web服务器,并安装PHP解释器。对于Windows服务器,可以使用WAMP(Windows,Apache,MySQL,PHP)或XAMPP等集成环境。二、创建HTML表单页面创建一个HTML页面,包含一个表单,用户可以在表单中输入PHP代码,将该代码提交到服务
- 网页中间件安全加固
jasonwgz
中间件安全tomcat
一、APACHEWEB服务器软件,apache的程序名是httpd,服务的控制:systemctlstart/stop/statushttpdApache是一个静态网站程序,不能直接支持动态页面;若要支持动态页面,则需要整合其它程序,如要支持PHP动态页面:yuminstallphp-fpmphp-commonphp-develphp-mysqlndphp-mbstringphp-mcrypt安装
- knob UI插件使用
换个号韩国红果果
JavaScriptjsonpknob
图形是用canvas绘制的
js代码
var paras = {
max:800,
min:100,
skin:'tron',//button type
thickness:.3,//button width
width:'200',//define canvas width.,canvas height
displayInput:'tr
- Android+Jquery Mobile学习系列(5)-SQLite数据库
白糖_
JQuery Mobile
目录导航
SQLite是轻量级的、嵌入式的、关系型数据库,目前已经在iPhone、Android等手机系统中使用,SQLite可移植性好,很容易使用,很小,高效而且可靠。
因为Android已经集成了SQLite,所以开发人员无需引入任何JAR包,而且Android也针对SQLite封装了专属的API,调用起来非常快捷方便。
我也是第一次接触S
- impala-2.1.2-CDH5.3.2
dayutianfei
impala
最近在整理impala编译的东西,简单记录几个要点:
根据官网的信息(https://github.com/cloudera/Impala/wiki/How-to-build-Impala):
1. 首次编译impala,推荐使用命令:
${IMPALA_HOME}/buildall.sh -skiptests -build_shared_libs -format
2.仅编译BE
${I
- 求二进制数中1的个数
周凡杨
java算法二进制
解法一:
对于一个正整数如果是偶数,该数的二进制数的最后一位是 0 ,反之若是奇数,则该数的二进制数的最后一位是 1 。因此,可以考虑利用位移、判断奇偶来实现。
public int bitCount(int x){
int count = 0;
while(x!=0){
if(x%2!=0){ /
- spring中hibernate及事务配置
g21121
Hibernate
hibernate的sessionFactory配置:
<!-- hibernate sessionFactory配置 -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<
- log4j.properties 使用
510888780
log4j
log4j.properties 使用
一.参数意义说明
输出级别的种类
ERROR、WARN、INFO、DEBUG
ERROR 为严重错误 主要是程序的错误
WARN 为一般警告,比如session丢失
INFO 为一般要显示的信息,比如登录登出
DEBUG 为程序的调试信息
配置日志信息输出目的地
log4j.appender.appenderName = fully.qua
- Spring mvc-jfreeChart柱图(2)
布衣凌宇
jfreechart
上一篇中生成的图是静态的,这篇将按条件进行搜索,并统计成图表,左面为统计图,右面显示搜索出的结果。
第一步:导包
第二步;配置web.xml(上一篇有代码)
建BarRenderer类用于柱子颜色
import java.awt.Color;
import java.awt.Paint;
import org.jfree.chart.renderer.category.BarR
- 我的spring学习笔记14-容器扩展点之PropertyPlaceholderConfigurer
aijuans
Spring3
PropertyPlaceholderConfigurer是个bean工厂后置处理器的实现,也就是BeanFactoryPostProcessor接口的一个实现。关于BeanFactoryPostProcessor和BeanPostProcessor类似。我会在其他地方介绍。
PropertyPlaceholderConfigurer可以将上下文(配置文件)中的属性值放在另一个单独的标准java
- maven 之 cobertura 简单使用
antlove
maventestunitcoberturareport
1. 创建一个maven项目
2. 创建com.CoberturaStart.java
package com;
public class CoberturaStart {
public void helloEveryone(){
System.out.println("=================================================
- 程序的执行顺序
百合不是茶
JAVA执行顺序
刚在看java核心技术时发现对java的执行顺序不是很明白了,百度一下也没有找到适合自己的资料,所以就简单的回顾一下吧
代码如下;
经典的程序执行面试题
//关于程序执行的顺序
//例如:
//定义一个基类
public class A(){
public A(
- 设置session失效的几种方法
bijian1013
web.xmlsession失效监听器
在系统登录后,都会设置一个当前session失效的时间,以确保在用户长时间不与服务器交互,自动退出登录,销毁session。具体设置很简单,方法有三种:(1)在主页面或者公共页面中加入:session.setMaxInactiveInterval(900);参数900单位是秒,即在没有活动15分钟后,session将失效。这里要注意这个session设置的时间是根据服务器来计算的,而不是客户端。所
- java jvm常用命令工具
bijian1013
javajvm
一.概述
程序运行中经常会遇到各种问题,定位问题时通常需要综合各种信息,如系统日志、堆dump文件、线程dump文件、GC日志等。通过虚拟机监控和诊断工具可以帮忙我们快速获取、分析需要的数据,进而提高问题解决速度。 本文将介绍虚拟机常用监控和问题诊断命令工具的使用方法,主要包含以下工具:
&nbs
- 【Spring框架一】Spring常用注解之Autowired和Resource注解
bit1129
Spring常用注解
Spring自从2.0引入注解的方式取代XML配置的方式来做IOC之后,对Spring一些常用注解的含义行为一直处于比较模糊的状态,写几篇总结下Spring常用的注解。本篇包含的注解有如下几个:
Autowired
Resource
Component
Service
Controller
Transactional
根据它们的功能、目的,可以分为三组,Autow
- mysql 操作遇到safe update mode问题
bitray
update
我并不知道出现这个问题的实际原理,只是通过其他朋友的博客,文章得知的一个解决方案,目前先记录一个解决方法,未来要是真了解以后,还会继续补全.
在mysql5中有一个safe update mode,这个模式让sql操作更加安全,据说要求有where条件,防止全表更新操作.如果必须要进行全表操作,我们可以执行
SET
- nginx_perl试用
ronin47
nginx_perl试用
因为空闲时间比较多,所以在CPAN上乱翻,看到了nginx_perl这个项目(原名Nginx::Engine),现在托管在github.com上。地址见:https://github.com/zzzcpan/nginx-perl
这个模块的目的,是在nginx内置官方perl模块的基础上,实现一系列异步非阻塞的api。用connector/writer/reader完成类似proxy的功能(这里
- java-63-在字符串中删除特定的字符
bylijinnan
java
public class DeleteSpecificChars {
/**
* Q 63 在字符串中删除特定的字符
* 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。
* 例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”
*/
public static voi
- EffectiveJava--创建和销毁对象
ccii
创建和销毁对象
本章内容:
1. 考虑用静态工厂方法代替构造器
2. 遇到多个构造器参数时要考虑用构建器(Builder模式)
3. 用私有构造器或者枚举类型强化Singleton属性
4. 通过私有构造器强化不可实例化的能力
5. 避免创建不必要的对象
6. 消除过期的对象引用
7. 避免使用终结方法
1. 考虑用静态工厂方法代替构造器
类可以通过
- [宇宙时代]四边形理论与光速飞行
comsci
从四边形理论来推论 为什么光子飞船必须获得星光信号才能够进行光速飞行?
一组星体组成星座 向空间辐射一组由复杂星光信号组成的辐射频带,按照四边形-频率假说 一组频率就代表一个时空的入口
那么这种由星光信号组成的辐射频带就代表由这些星体所控制的时空通道,该时空通道在三维空间的投影是一
- ubuntu server下python脚本迁移数据
cywhoyi
pythonKettlepymysqlcx_Oracleubuntu server
因为是在Ubuntu下,所以安装python、pip、pymysql等都极其方便,sudo apt-get install pymysql,
但是在安装cx_Oracle(连接oracle的模块)出现许多问题,查阅相关资料,发现这边文章能够帮我解决,希望大家少走点弯路。http://www.tbdazhe.com/archives/602
1.安装python
2.安装pip、pymysql
- Ajax正确但是请求不到值解决方案
dashuaifu
Ajaxasync
Ajax正确但是请求不到值解决方案
解决方案:1 . async: false , 2. 设置延时执行js里的ajax或者延时后台java方法!!!!!!!
例如:
$.ajax({ &
- windows安装配置php+memcached
dcj3sjt126com
PHPInstallmemcache
Windows下Memcached的安装配置方法
1、将第一个包解压放某个盘下面,比如在c:\memcached。
2、在终端(也即cmd命令界面)下输入 'c:\memcached\memcached.exe -d install' 安装。
3、再输入: 'c:\memcached\memcached.exe -d start' 启动。(需要注意的: 以后memcached将作为windo
- iOS开发学习路径的一些建议
dcj3sjt126com
ios
iOS论坛里有朋友要求回答帖子,帖子的标题是: 想学IOS开发高阶一点的东西,从何开始,然后我吧啦吧啦回答写了很多。既然敲了那么多字,我就把我写的回复也贴到博客里来分享,希望能对大家有帮助。欢迎大家也到帖子里讨论和分享,地址:http://bbs.csdn.net/topics/390920759
下面是我回复的内容:
结合自己情况聊下iOS学习建议,
- Javascript闭包概念
fanfanlovey
JavaScript闭包
1.参考资料
http://www.jb51.net/article/24101.htm
http://blog.csdn.net/yn49782026/article/details/8549462
2.内容概述
要理解闭包,首先需要理解变量作用域问题
内部函数可以饮用外面全局变量
var n=999;
functio