- vnpy1.0版本学习-回测模块
ls13552912394
1、学习vnpy,从vnpy1.0开始。主要是学习回测模块的使用。ctaAlgo回测模块的使用。git的链接官方:官方地址。其中最主要碰到的坑,各种关联包的使用和开始启动py文件的方法。官方的说明文档写的不太清楚。详细还是要看官方的,我只写写我的感受和操作。2、首先talib包是比较难装的,需要使用conda命令,版本和依赖的包太乱了。使用anacondaprompt命令提示行执行如下:conda
- 8. 详解低门槛搭建个人量化平台 - vnpy+backtesting策略回测(7)
阿岛格
量化回测策略交易python
上篇谈到简单使用backtrader+pyfolio做策略回测。这篇使用vn.pybacktesting引擎,做策略回测,并将结果展示在自己的量化平台的web页面上。在vn.py下载最新的开源软件包,按照提示一步步安装(这里我使用的是之前下载的vnpy2.1.7.1,python3.7.7版本)。vnpy的run.py中:插入下面代码,确保CTABacktesterAPP的开启:fromvnpy.
- VNPY3.0 量化交易软件开源代码-探索更真实的量化交易世界,
qq_31853929
VNPYPythonPython量化交易回测量化交易
一个策略从想法,到测试,在到实盘,然后改进,进入另一个循环,需要很多的时间和精力。这时候选择一款高效、灵活的测试系统就是当务之急了。即使最后你可能需要写自己的系统,但是这些框架的软工架构还是很值得借鉴的。一个好的测试系统应该具有如下特点:代码、项目仍然在维护,测试充分代码组织好,组件灵活,方便拓展,最好开源社区健全,可以讨论相关问题文档完整、全面下面我介绍6款开源社区贡献的会测框架,看看那一款是你
- backtrader框架初探,轻松跑通策略并策略分析
airyv
Pythonpython开发语言
网上有很多backtrader的文章,并有些将其与vnpy做比较,经过安装后发现,还是backtrader教程简单。1、前期准备#安装akshare免费行情源pipinstallakshare-ihttp://mirrors.aliyun.com/pypi/simple/--trusted-host=mirrors.aliyun.com--user--upgrade#安装backtraderpip
- vnpy_ctp源码下载后转变为python可用的处理过程
程序猿与金融与科技
量化python开发语言
目录写在前面下载源码并解压创建python项目环境过程编译vnpy_ctp源码验证可用性写在前面window系统中必须安装有VisualStudio,后面源码安装时需要进行C++编译下载源码并解压GitHub-vnpy/vnpy_ctp:VeighNa框架的CTP交易接口下载zip压缩包解压要在python中能执行,要有.pyd文件,解压后的文件夹内没有.pyd文件创建python项目新建一个py
- vnpy环境踩坑小计
cnzhanhao
image.png1)minconda安装清华https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/下载windows下x86_64最新版本安装时,记得勾选,添加minconda到系统环境路径2)重启后,命令行窗口:condaconfig--addchannelshttps://mirrors.tuna.tsinghua.edu.cn/an
- 使用akshare下载bar数据导入vnpy数据库
daizikui
数据库python数据分析
一,mysql创建vnpy数据库1,使用vnpy配置创建数据库2,用sql创建数据库--vnpy.dbbardatadefinitionCREATETABLE`dbbardata`(`id`intNOTNULLAUTO_INCREMENT,`symbol`varchar(255)NOTNULL,`exchange`varchar(255)NOTNULL,`datetime`datetimeNOTN
- vnpy for Mac 安装填坑
愚园路刚枪王
vnpy是个基于python的开源量化交易框架,github地址:https://github.com/vnpy/vnpy。官方文档主要介绍的使用环境是windows和Ubuntu,Mac的安装文档写的比较简洁,最近windows电脑年迈坏掉了,要在Mac上安装,花了不少时间踩了好多坑,在这里记录一下。1:XCode其实并不需要完整安装XCode,只需要xcode-select--install命
- 【从零开始vnpy量化投资】简介:个人vnpy学习路线
魔落凡尘
从零开始vnpy量化投资python金融
本文主要讲述了一些笔者个人进入量化领域的经历,并将过程中的体会分享给大家,有些内容并不属于可操作的部分,仅仅是个人的一些思考,所以不太适合放入其他章节中。有理解错误的也请各位体谅。这些内容既是过去经历的描述,也可以为本系列的内容做一个简介,即笔者为何会将某些内容设计到专栏中来。作为一个懒鬼,除非出于必要,否则谁愿意写额外的代码呢。更新一个喜讯,由于最近运气不错,行情适合自己的策略,在期货大赛中获得
- python期货量化交易_基于vnpy搭建期货量化交易机器人(一)准备工作
weixin_39869197
python期货量化交易
最近有从事期货交易的朋友找到我,说一起探索下期货量化交易,因为之前基于CTP开发过相关期货交易软件,对量化交易有个基本了解。之前是基于C++和QT开发的客户端软件,了解了下现在市面上已经有了比较成熟量化交易框架VNPY,为了快速上手就选择了基于VNPY来搭建期货量化交易机器人。一开始需求比较简单就一条:将交易员写的麦语言策略翻译成基于vnpy的python代码策略,然后通过回测,最终在实盘运行。所
- python探测端口_Python—端口检测(socket)
weixin_39665762
python探测端口
基于python检测端口是否在使用原理:创建一个socket服务,连接对应的ip:port,如果能够连接,说明端口被占用;若端口可用,则不可连接。#!/usr/bin/evnpython#-*-coding:utf-8-*-importsys,socketfromargparseimportArgumentParserfromoptparseimportOptionParserclassbacku
- python制作一个简易计算器_python小项目——实现简易的计算器
weixin_39653361
python制作一个简易计算器
1#!usr/bin/evnpython2#coding:cp9363#Author:Siwen456print("Helloworld!")789importre1011defhandle_special_occactions(plus_minus,multiply_and_dividend):12#有时会出现这种情况,['-','-']['1','2*','14969036.7968254']
- Anaconda建立新的环境,出现CondaHTTPError: HTTP 000 CONNECTION FAILED for url ...... 解决过程
阿星007
准备在windows1064位操作系统搭建个深度学习环境,使用anaconda(Anaconda版本:conda4.8.2)创建一个新的环境,执行“**condacreate-npytorthEvnpython=3.6”,**结果出现了“CondaHTTPError:HTTP000CONNECTIONFAILEDforurlhttps://mirrors.tuna.tsinghua.edu.cn/
- 把pycharm解释器从Python3.6切换成Python3.7
six66667
pythonpycharm
电脑上一直装有两个Python环境(3.6和anaconda的3.7),默认是3.6,vnpy3.0项目需要numpy==1.21.5,pipinstall一直装不上这个版本,报错是只找到numpy1.19左右的版本,去pypi官网查了后续版本一直都有,手动在官网下载了包,手动安装的时候报错要求Python版本3.7(巨坑啊)。3.6版本我有大量项目在用不能卸,3.7我本来只在Spyder里面用,
- CTP初识
隔夜豆苗
最近接触了vnpy做交易,之前比较少使用这种开源工具所以还是有很多坑的,最直接的问题就是借口问题了。每一次打开vnpy都要先连接接口以致于可以获取行情信息和交易信息。所以比如我做期货交易,就会连接CTP接口,那CTP接口是什么呢。CTP是上海期货交易所专门为期货公司开发的一套期货经纪业务管理系统,由交易,风险控制和结算三大系统组成,系统能够同时连通国内四家期货交易所,支持国内商品期货和股指期货的交
- urllib.response 使用代理访问网页
lvanzn
缘由:使用网络爬虫的时候,网站会拒绝某些IP的访问,这是可以使用代理。urllib.response可以使用多种访问方式。1.本文使用直接的访问方式2.在网络上可以找到很多免费代理#!/user/bin/evnpython#coding=utf-8__author__='phc'importurllib.request#在python3.x中,urllib2被更改为urllib.requestim
- python解析帆软cpt及frm文件(xml)获取源数据表及下游依赖表
蝶然
pythonpythonxmlsql帆软finereportcptfrm
#!/user/bin/evnpythonimportos,re,openpyxl'''输入:帆软脚本文件路径输出:帆软文件检查结果Excel'''#获取来源表deftable_scan(sql_str):#removethe/**/commentsq=re.sub(r"/\*[^*]*\*+(?:[^*/][^*]*\*+)*/","",sql_str)#removewholeline--and
- vnpy到底是个什么东西?
qq1841085904
交易接口区块链金融
vnpy定位是量化交易平台,提供从交易API对接到策略自动交易的完整解决方案,对接了国内外诸多不同类型的金融市场:证券、期货、期权、外汇、数字货币等。有回测功能,但支持较弱。vnpy对windows支持较好,提供了python发行版,其内置了最新版的vnpy框架以及vnpy量化管理平台,无需手动安装。对ubuntu支持其次,对mac支持最弱。安装后,在vnpy社区论坛注册获得账号密码(论坛账号密码
- vnpy 策略模板ctaTemplate分析
hongf_
vnpy模板的设计思路模板类似所有策略的基类,负责桥接策略引擎和具体策略。其抽象并实现了所有策略类的共性的方法。再ctaTemplate类中包括:CtaTemplate、TargetPosTemplate、BarGenerator、ArrayManager、CtaSignal。其中1、CtaTemplate:为CTA策略模板基类2、TargetPosTemplate:为允许直接通过修改目标持仓来实
- python cut函数_一天学会Python Web框架(七)工具函数
weixin_39694174
pythoncut函数
一、字符串操作包string_helper.py是字符串操作包,主要对字符串进行检查、过滤和截取等处理。#!/usr/bin/evnpython#coding=utf-8importredefcheck_string(text,pattern):"""检查字符串是否符合指定规则:paramtext:需要检查的字符串:parampattern:正式表达式,如:'^[a-zA-Z]+$':return
- Ubuntu下安装vnpy(基于simnow进行交易)
bertrand319
背景近期准备做期货交易,找了半天发现上期有一个simnow的模拟平台,然后找了个脚手架vnpy遇到的问题字体问题更改密码问题字体问题安装完vnpy和miniconda后,运行链接simnow直接崩了,终端提示terminatecalledafterthrowinganinstanceof'std::runtime_error'what():locale::facet::_S_create_c_lo
- vnpy和howtrader安装backports.zoneinfo.ZoneInfo object has no attribute
51bitquant
安装VNPY或者howtrader出现AttributeError:backports.zoneinfo.ZoneInfoobjecthasnoattribute,报错如下:image.png这个问题是因为tzlocal这个库更新到3.0以后,原来的get_local_zone更改了,需要使用tzlocal2.1版本就好了。解决方法,安装tzlocal2.1版本pipinstalltzlocal=
- 实盘中在vnpy多策略多交易对交易
weixin_40686234
使用量化做交易以太坊数字货币
多策略多交易对交易的好处不多说,最终目的就是提高收益。在.vntrader文件夹目录下打开箭头所示的cta_strategy_setting.json文件然后把下图框框内容复制帖到箭头位置就可以了,注意修改下交易对vt_symbol信息,和交易策略名称。这样就可以同一策略执行不同的交易品种了。记得重启程序在实盘中会看到多了刚添加的交易对。
- qt.qpa.screen: QXcbConnection: Could not connect to display(vnpy,云主机,图形界面)
唐僧洗头用飘柔dp
其他qt开发语言
qt.qpa.screen:QXcbConnection:Couldnotconnecttodisplay(vnpy,云主机,图形界面)在ssh命令后加上-X参数即可
[email protected]
- 量化交易平台汇总
慢牛策略
1VNPYvn.py是基于Python的开源量化交易程序开发框架,起源于国内私募的自主量化交易系统。2015年初项目启动时只是单纯的交易API接口的Python封装。随着业内关注度的上升和社区不断的贡献,目前已经成长为一套全功能的交易程序开发框架,用户群体也日渐多样化,包括私募基金、券商自营和资管、期货资管和子公司、高校研究机构和专业个人投资者等。2018年中启动代号为vn.crypto的数字货币
- VNPY数字货币量化交易从零到实盘--如何安装VNPY
51bitquant
VNPY数字货币量化交易从零到实盘.png51bitquant最新版的《VNPY数字货币量化交易从零到实盘》的视频已经在网易云课堂开始上线了,你可以在网易云课堂或者B站等平台可以直接搜索51bitquant就可以找到课程,教学是全部免费的。但是开始学习之前,最好有python编程的基础,如果还没有编程基础的,可以先学习下python基础或者学习51bitquant的《Python数字货币量化交易进
- vnpy怎么创建策略并回测_【手把手教你】入门量化回测最强神器backtrader(一)
weixin_39835792
vnpy怎么创建策略并回测
1引言目前基于Python的量化回测框架有很多,开源框架有zipline、vnpy、pyalgotrader和backtrader等,而量化平台有Quantopian(国外)、聚宽、万矿、优矿、米筐、掘金等,这些量化框架或平台各有优劣。就个人而言,比较偏好用backtrader,因为它功能十分完善,有完整的使用文档,安装相对简单(直接pip安装即可)。优点是运行速度快,支持pandas的矢量运算;
- backtrader入坑1
神出鬼没,指的就是我!
backtrader量化Backtrader
烦死我了,不想玩backtrader,因为它只是个回测框架,数据库,下单界面和国内都不能有效对接,早期就是玩玩,图个乐子。还有学习它的代码编写逻辑,大概玩通了以后,完全不想碰它。感觉现在比他好的回测软件,框架太多太多了。quantaxis,掘金,国信,tb,金字塔,MC,易胜极星,还有vnpy(vn.py)[狗咬狗一嘴毛]都很好,本地,支持数据库,支持对接实盘。一开始兴高采烈搞这个,又是做股票回测
- 将xml 文件转化为txt文件
夜空中最闪的星
#!/usr/bin/evnpython#coding:utf-8importos,shutilimportsysimportxml.dom.minidomimportimportlibimportlib.reload(sys)Xml='D:/Downloads/222.xml'Txt='D:/Downloads/222.txt'DOMTree=xml.dom.minidom.parse(Xml)
- Python 生成 n 个质数
ZhiXiong
#!/usr/bin/evnpython#本程序用于生成特定数量质数#质数(primenumber)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数source_num=2prime_count=10whileprime_count>0:is_prime=Truefordivisorinrange(2,source_num):ifsource_num%divi
- java工厂模式
3213213333332132
java抽象工厂
工厂模式有
1、工厂方法
2、抽象工厂方法。
下面我的实现是抽象工厂方法,
给所有具体的产品类定一个通用的接口。
package 工厂模式;
/**
* 航天飞行接口
*
* @Description
* @author FuJianyong
* 2015-7-14下午02:42:05
*/
public interface SpaceF
- nginx频率限制+python测试
ronin47
nginx 频率 python
部分内容参考:http://www.abc3210.com/2013/web_04/82.shtml
首先说一下遇到这个问题是因为网站被攻击,阿里云报警,想到要限制一下访问频率,而不是限制ip(限制ip的方案稍后给出)。nginx连接资源被吃空返回状态码是502,添加本方案限制后返回599,与正常状态码区别开。步骤如下:
- java线程和线程池的使用
dyy_gusi
ThreadPoolthreadRunnabletimer
java线程和线程池
一、创建多线程的方式
java多线程很常见,如何使用多线程,如何创建线程,java中有两种方式,第一种是让自己的类实现Runnable接口,第二种是让自己的类继承Thread类。其实Thread类自己也是实现了Runnable接口。具体使用实例如下:
1、通过实现Runnable接口方式 1 2
- Linux
171815164
linux
ubuntu kernel
http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.1.2-unstable/
安卓sdk代理
mirrors.neusoft.edu.cn 80
输入法和jdk
sudo apt-get install fcitx
su
- Tomcat JDBC Connection Pool
g21121
Connection
Tomcat7 抛弃了以往的DBCP 采用了新的Tomcat Jdbc Pool 作为数据库连接组件,事实上DBCP已经被Hibernate 所抛弃,因为他存在很多问题,诸如:更新缓慢,bug较多,编译问题,代码复杂等等。
Tomcat Jdbc P
- 敲代码的一点想法
永夜-极光
java随笔感想
入门学习java编程已经半年了,一路敲代码下来,现在也才1w+行代码量,也就菜鸟水准吧,但是在整个学习过程中,我一直在想,为什么很多培训老师,网上的文章都是要我们背一些代码?比如学习Arraylist的时候,教师就让我们先参考源代码写一遍,然
- jvm指令集
程序员是怎么炼成的
jvm 指令集
转自:http://blog.csdn.net/hudashi/article/details/7062675#comments
将值推送至栈顶时 const ldc push load指令
const系列
该系列命令主要负责把简单的数值类型送到栈顶。(从常量池或者局部变量push到栈顶时均使用)
0x02 &nbs
- Oracle字符集的查看查询和Oracle字符集的设置修改
aijuans
oracle
本文主要讨论以下几个部分:如何查看查询oracle字符集、 修改设置字符集以及常见的oracle utf8字符集和oracle exp 字符集问题。
一、什么是Oracle字符集
Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序次序,日期,时间,货
- png在Ie6下透明度处理方法
antonyup_2006
css浏览器FirebugIE
由于之前到深圳现场支撑上线,当时为了解决个控件下载,我机器上的IE8老报个错,不得以把ie8卸载掉,换个Ie6,问题解决了,今天出差回来,用ie6登入另一个正在开发的系统,遇到了Png图片的问题,当然升级到ie8(ie8自带的开发人员工具调试前端页面JS之类的还是比较方便的,和FireBug一样,呵呵),这个问题就解决了,但稍微做了下这个问题的处理。
我们知道PNG是图像文件存储格式,查询资
- 表查询常用命令高级查询方法(二)
百合不是茶
oracle分页查询分组查询联合查询
----------------------------------------------------分组查询 group by having --平均工资和最高工资 select avg(sal)平均工资,max(sal) from emp ; --每个部门的平均工资和最高工资
- uploadify3.1版本参数使用详解
bijian1013
JavaScriptuploadify3.1
使用:
绑定的界面元素<input id='gallery'type='file'/>$("#gallery").uploadify({设置参数,参数如下});
设置的属性:
id: jQuery(this).attr('id'),//绑定的input的ID
langFile: 'http://ww
- 精通Oracle10编程SQL(17)使用ORACLE系统包
bijian1013
oracle数据库plsql
/*
*使用ORACLE系统包
*/
--1.DBMS_OUTPUT
--ENABLE:用于激活过程PUT,PUT_LINE,NEW_LINE,GET_LINE和GET_LINES的调用
--语法:DBMS_OUTPUT.enable(buffer_size in integer default 20000);
--DISABLE:用于禁止对过程PUT,PUT_LINE,NEW
- 【JVM一】JVM垃圾回收日志
bit1129
垃圾回收
将JVM垃圾回收的日志记录下来,对于分析垃圾回收的运行状态,进而调整内存分配(年轻代,老年代,永久代的内存分配)等是很有意义的。JVM与垃圾回收日志相关的参数包括:
-XX:+PrintGC
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+PrintGCDateStamps
-Xloggc
-XX:+PrintGC
通
- Toast使用
白糖_
toast
Android中的Toast是一种简易的消息提示框,toast提示框不能被用户点击,toast会根据用户设置的显示时间后自动消失。
创建Toast
两个方法创建Toast
makeText(Context context, int resId, int duration)
参数:context是toast显示在
- angular.identity
boyitech
AngularJSAngularJS API
angular.identiy 描述: 返回它第一参数的函数. 此函数多用于函数是编程. 使用方法: angular.identity(value); 参数详解: Param Type Details value
*
to be returned. 返回值: 传入的value 实例代码:
<!DOCTYPE HTML>
- java-两整数相除,求循环节
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
public class CircleDigitsInDivision {
/**
* 题目:求循环节,若整除则返回NULL,否则返回char*指向循环节。先写思路。函数原型:char*get_circle_digits(unsigned k,unsigned j)
- Java 日期 周 年
Chen.H
javaC++cC#
/**
* java日期操作(月末、周末等的日期操作)
*
* @author
*
*/
public class DateUtil {
/** */
/**
* 取得某天相加(减)後的那一天
*
* @param date
* @param num
*
- [高考与专业]欢迎广大高中毕业生加入自动控制与计算机应用专业
comsci
计算机
不知道现在的高校还设置这个宽口径专业没有,自动控制与计算机应用专业,我就是这个专业毕业的,这个专业的课程非常多,既要学习自动控制方面的课程,也要学习计算机专业的课程,对数学也要求比较高.....如果有这个专业,欢迎大家报考...毕业出来之后,就业的途径非常广.....
以后
- 分层查询(Hierarchical Queries)
daizj
oracle递归查询层次查询
Hierarchical Queries
If a table contains hierarchical data, then you can select rows in a hierarchical order using the hierarchical query clause:
hierarchical_query_clause::=
start with condi
- 数据迁移
daysinsun
数据迁移
最近公司在重构一个医疗系统,原来的系统是两个.Net系统,现需要重构到java中。数据库分别为SQL Server和Mysql,现需要将数据库统一为Hana数据库,发现了几个问题,但最后通过努力都解决了。
1、原本通过Hana的数据迁移工具把数据是可以迁移过去的,在MySQl里面的字段为TEXT类型的到Hana里面就存储不了了,最后不得不更改为clob。
2、在数据插入的时候有些字段特别长
- C语言学习二进制的表示示例
dcj3sjt126com
cbasic
进制的表示示例
# include <stdio.h>
int main(void)
{
int i = 0x32C;
printf("i = %d\n", i);
/*
printf的用法
%d表示以十进制输出
%x或%X表示以十六进制的输出
%o表示以八进制输出
*/
return 0;
}
- NsTimer 和 UITableViewCell 之间的控制
dcj3sjt126com
ios
情况是这样的:
一个UITableView, 每个Cell的内容是我自定义的 viewA viewA上面有很多的动画, 我需要添加NSTimer来做动画, 由于TableView的复用机制, 我添加的动画会不断开启, 没有停止, 动画会执行越来越多.
解决办法:
在配置cell的时候开始动画, 然后在cell结束显示的时候停止动画
查找cell结束显示的代理
- MySql中case when then 的使用
fanxiaolong
casewhenthenend
select "主键", "项目编号", "项目名称","项目创建时间", "项目状态","部门名称","创建人"
union
(select
pp.id as "主键",
pp.project_number as &
- Ehcache(01)——简介、基本操作
234390216
cacheehcache简介CacheManagercrud
Ehcache简介
目录
1 CacheManager
1.1 构造方法构建
1.2 静态方法构建
2 Cache
2.1&
- 最容易懂的javascript闭包学习入门
jackyrong
JavaScript
http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。
下面就是我的学习笔记,对于Javascript初学者应该是很有用的。
一、变量的作用域
要理解闭包,首先必须理解Javascript特殊
- 提升网站转化率的四步优化方案
php教程分享
数据结构PHP数据挖掘Google活动
网站开发完成后,我们在进行网站优化最关键的问题就是如何提高整体的转化率,这也是营销策略里最最重要的方面之一,并且也是网站综合运营实例的结果。文中分享了四大优化策略:调查、研究、优化、评估,这四大策略可以很好地帮助用户设计出高效的优化方案。
PHP开发的网站优化一个网站最关键和棘手的是,如何提高整体的转化率,这是任何营销策略里最重要的方面之一,而提升网站转化率是网站综合运营实力的结果。今天,我就分
- web开发里什么是HTML5的WebSocket?
naruto1990
Webhtml5浏览器socket
当前火起来的HTML5语言里面,很多学者们都还没有完全了解这语言的效果情况,我最喜欢的Web开发技术就是正迅速变得流行的 WebSocket API。WebSocket 提供了一个受欢迎的技术,以替代我们过去几年一直在用的Ajax技术。这个新的API提供了一个方法,从客户端使用简单的语法有效地推动消息到服务器。让我们看一看6个HTML5教程介绍里 的 WebSocket API:它可用于客户端、服
- Socket初步编程——简单实现群聊
Everyday都不同
socket网络编程初步认识
初次接触到socket网络编程,也参考了网络上众前辈的文章。尝试自己也写了一下,记录下过程吧:
服务端:(接收客户端消息并把它们打印出来)
public class SocketServer {
private List<Socket> socketList = new ArrayList<Socket>();
public s
- 面试:Hashtable与HashMap的区别(结合线程)
toknowme
昨天去了某钱公司面试,面试过程中被问道
Hashtable与HashMap的区别?当时就是回答了一点,Hashtable是线程安全的,HashMap是线程不安全的,说白了,就是Hashtable是的同步的,HashMap不是同步的,需要额外的处理一下。
今天就动手写了一个例子,直接看代码吧
package com.learn.lesson001;
import java
- MVC设计模式的总结
xp9802
设计模式mvc框架IOC
随着Web应用的商业逻辑包含逐渐复杂的公式分析计算、决策支持等,使客户机越
来越不堪重负,因此将系统的商业分离出来。单独形成一部分,这样三层结构产生了。
其中‘层’是逻辑上的划分。
三层体系结构是将整个系统划分为如图2.1所示的结构[3]
(1)表现层(Presentation layer):包含表示代码、用户交互GUI、数据验证。
该层用于向客户端用户提供GUI交互,它允许用户