记录精彩的程序人生
存档:
2019 年 11 月 (27)
About this series So you think you know about Java programming? The fact is, most developers scratch the surface of the Java platform, learning just enough to get the job done. In this ongoing series, Java technology sleuths dig beneath the core functionality of the Java platform, turning up tips and tricks that could help you solve even your stickiest programming challenges. User interface design and development have changed a lot and the Java™ platform has kept pace with these changes. The re....
mysql报错Ignoring the redo log due to missing MLOG_CHECKPOINT between mysql版本:5.7.19 系统版本:centos7.3 由于周未公司断电,跑在vmware虚拟机上的mysql挂掉,无法重启 启动mysql的时候,error log的信息如下 2017-11-15T11:44:46.562061+08:00 0 [ERROR] InnoDB: Ignoring the redo log due to missing MLOG_CHECKPOINT between the checkpoint 63593957 and the end 63593472. 2017-11-15T11:44:46.562090+08:00 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error 2017-11-15T11:44:47.062885+08:00 0 [ERROR] Plugin 'InnoDB' init function retu....
目前A股程序化交易接口不提供给散户。偶然发现富途证券提供各类语言的API接口,可以实现沪股通、深股通股票的程序化交易,条件是在富途证券开户,并需要把资金转移到香港,貌似交易手续费也要贵一些(这个没深究)。 介绍 futu-api提供了交易和行情接口,可以满足个人开发者使用富途牛牛软件进行程序化投资的需求。 主要功能 交易品种: 1.港股:正股、ETF、窝轮、牛熊证 2.美股:正股、ETF、期权 行情数据: 1.支持A股、港股 2.支持定阅并接收实时报价、逐笔、买卖档,买卖经纪(仅港股)等深度数据 特点 特点说明 高效的执行配合 FutuOpenD ,一行简单的命令就可以执行您的策略 活跃的社区富途牛牛圈、QQ群和众多牛人一起分享心得 丰富的接口港股、A股行情数据获取、港美股实盘交易、A股通实盘交易以及港美A模拟交易 跨平台支持兼容 Windows / Mac OS / Linux 目前沪股通股票(580)包括 序号名称代码序号名称代码序号名称代码序号名称代码序号名称代码序号名称代码 1浦发银行600000101万华化学600309201大众交通60061130....
一款股票行情软件,主要有3种类型的窗口 股票列表(可以根据各种条件筛选) 具体某一个股票信息(分时、k线、盘中信息) 其他(跟股票无关信息,例如聊天窗口) acuistock面向A股,核心数据结构包括 Stock(静态信息和动态信息) 股票市场 market 股票代码 code 股票名字 name 上市时间 listTime 是否退市 delisting 上市时间戳 listTimestamp DataSet(K线) 分时 明确一下本地磁盘缓存到底起什么作用,如果有用,考虑用derby替换掉,如果没用,就从代码中清掉 fetchStockFromCache 没什么用 fetchDatasetFromCache 没什么用 getLastChartFrameId 有点用,只是保留了最后打开的ChartFrame的id,这个其实也没必要非要持久化到磁盘 综上,目前这个磁盘缓存真的意义不大,可以去掉 明确使用FTAPI作为唯一数据源,简化程序设计 这个可以在代码上做一些调整,首先由于目前不支持多数据源,可以将DataProvider简化为一个。 去掉股票代码切换 因为可以在股票列表....
K线图里面的前复权、后复权和不复权,具体是什么意思,我们在股票分析的时候应该选择哪一个?今天我们来聊聊复权这个话题
如下, 一共存在11种实现方式及其对应的性能测试结果: 1、使用IOUtils.toString (Apache Utils) String result = IOUtils.toString(inputStream, StandardCharsets.UTF_8); 2、使用CharStreams (guava) String result = CharStreams.toString(new InputStreamReader(inputStream, Charsets.UTF_8)); 3、使用Scanner (JDK) Scanner s = new Scanner(inputStream).useDelimiter("\\A"); String result = s.hasNext() ? s.next() : ""; 4、使用Stream Api (Java 8). 提醒: 这种方式会将不同的换行符 (比如\r\n) 都替换为 \n. String result = new BufferedReader(new InputStreamReader(inputStrea....
When you have no more than this dependency in the application module of your NetBeans Platform application, you have all you need for the simplest imaginable NetBeans Platform application. <dependencies> <dependency> <groupId>org.netbeans.modules</groupId> <artifactId>org-netbeans-core-startup</artifactId> <version>${netbeans.version}</version> <type>jar</type> </dependency> </dependencies> The above results in one direct d....
Attach source code to a Netbeans Library Wrapper Module I’m new in NetBeans and today I’ve been struggling a couple of hours with the simple task of attaching the source code for an external JAR (NetBean Library Wrapper Module). I’ve been trying to find in google how to do it without success until I reached this post in the netbeans-users mailing list. Then I realized that I should been looking into the NetBeans Help first. The entry at Help -> Help contents -> Java Applications -> Deb....
Lookups are one of the most important parts of the NetBeans Platform. They're used almost everywhere and most of the time when you ask something on a mailing list the answer is "Use Lookups!". Many times when the use of Lookups is explained it's in a very specific context, e.g. selection management or ServiceLoaders. That makes Lookups look complicated and hard to understand, while actually they are very simple and extremely powerful. That's why I guess it's time to write an article that explain....
// 设置主窗口标题 WindowManager.getDefault().invokeWhenUIReady(new Runnable() { @Override public void run() { WindowManager.getDefault().getMainWindow().setTitle("xxx系统"); } });
两个字段确定一支股票:股票市场和股票代码 市场类型 未知市场 港股 港期货(目前是恒指的当月、下月期货行情) 美股 沪股 深股 订阅类型 基础报价 摆盘 逐笔 分时 日K 5分K 15分K 30分K 60分K 1分K 周K 月K 经纪队列 季K 年K 3分K 委托明细 Security - 证券标识 message Security { required int32 market = 1; //QotMarket,股票市场 required string code = 2; //股票代码 } KLine - K线数据点 message KLine { required string time = 1; //时间戳字符串 required bool isBlank = 2; //是否是空内容的点,若为ture则只有时间信息 optional double highPrice = 3; //最高价 optional double openPrice = 4; //开盘价 optional double lowPrice = 5; //最低价 optional double clo....
两个字段确定一支股票:股票市场和股票代码 市场类型 未知市场 港股 港期货(目前是恒指的当月、下月期货行情) 美股 沪股 深股 订阅类型 基础报价 摆盘 逐笔 分时 日K 5分K 15分K 30分K 60分K 1分K 周K 月K 经纪队列 季K 年K 3分K 委托明细 Security - 证券标识 message Security { required int32 market = 1; //QotMarket,股票市场 required string code = 2; //股票代码 } KLine - K线数据点 message KLine { required string time = 1; //时间戳字符串 required bool isBlank = 2; //是否是空内容的点,若为ture则只有时间信息 optional double highPrice = 3; //最高价 optional double openPrice = 4; //开盘价 optional double lowPrice = 5; //最低价 optional double clo....
两个字段确定一支股票:股票市场和股票代码 市场类型 未知市场 港股 港期货(目前是恒指的当月、下月期货行情) 美股 沪股 深股 订阅类型 基础报价 摆盘 逐笔 分时 日K 5分K 15分K 30分K 60分K 1分K 周K 月K 经纪队列 季K 年K 3分K 委托明细 Security - 证券标识 message Security { required int32 market = 1; //QotMarket,股票市场 required string code = 2; //股票代码 } KLine - K线数据点 message KLine { required string time = 1; //时间戳字符串 required bool isBlank = 2; //是否是空内容的点,若为ture则只有时间信息 optional double highPrice = 3; //最高价 optional double openPrice = 4; //开盘价 optional double lowPrice = 5; //最低价 optional double clo....
依赖的Scope scope定义了类包在项目的使用阶段。项目阶段包括: 编译,运行,测试和发布。 分类说明 compile 默认scope为compile,表示为当前依赖参与项目的编译、测试和运行阶段,属于强依赖。打包之时,会达到包里去。 test 该依赖仅仅参与测试相关的内容,包括测试用例的编译和执行,比如定性的Junit。 runtime 依赖仅参与运行周期中的使用。一般这种类库都是接口与实现相分离的类库,比如JDBC类库,在编译之时仅依赖相关的接口,在具体的运行之时,才需要具体的mysql、oracle等等数据的驱动程序。 此类的驱动都是为runtime的类库。 provided 该依赖在打包过程中,不需要打进去,这个由运行的环境来提供,比如tomcat或者基础类库等等,事实上,该依赖可以参与编译、测试和运行等周期,与compile等同。区别在于打包阶段进行了exclude操作。 system 使用上与provided相同,不同之处在于该依赖不从maven仓库中提取,而是从本地文件系统中提取,其会参照systemPath的属性进行提取依赖。 import 这个是mave....
依赖的Scope scope定义了类包在项目的使用阶段。项目阶段包括: 编译,运行,测试和发布。 分类说明 compile 默认scope为compile,表示为当前依赖参与项目的编译、测试和运行阶段,属于强依赖。打包之时,会达到包里去。 test 该依赖仅仅参与测试相关的内容,包括测试用例的编译和执行,比如定性的Junit。 runtime 依赖仅参与运行周期中的使用。一般这种类库都是接口与实现相分离的类库,比如JDBC类库,在编译之时仅依赖相关的接口,在具体的运行之时,才需要具体的mysql、oracle等等数据的驱动程序。 此类的驱动都是为runtime的类库。 provided 该依赖在打包过程中,不需要打进去,这个由运行的环境来提供,比如tomcat或者基础类库等等,事实上,该依赖可以参与编译、测试和运行等周期,与compile等同。区别在于打包阶段进行了exclude操作。 system 使用上与provided相同,不同之处在于该依赖不从maven仓库中提取,而是从本地文件系统中提取,其会参照systemPath的属性进行提取依赖。 import 这个是mave....
文件处于磁盘上或者流处于内存中 在输入流有已知的和预处理的数据时,如在硬盘上的文件或者在流处于内存中。这种情况下,不需要做边界校验,并且内存容量条件允许的话,可以简单的读取并一次写入。 InputStream initialStream = new FileInputStream(new File("src/main/resources/sample.txt")); byte[] buffer = new byte[initialStream.available()]; initialStream.read(buffer); File targetFile = new File("src/main/resources/targetFile.tmp"); OutputStream outStream = new FileOutputStream(targetFile); outStream.write(buffer); 基于Guava的实现 InputStream initialStream = new FileInputStream(new File("src/main/resour....
Zip4j是一个Java操作zip压缩格式的开源项目,功能强大而且使用方便,能完全满足Java操作Zip压缩文件。默认采用UTF-8编码,所以支持中文,同时也支持密码,而且支持多种压缩算法。Zt-ZIP也不错,有兴趣的可以试试。 http://www.lingala.net/zip4j/ 压缩 1、文件压缩 ZipFile zipFile = new ZipFile("c:\\ZipTest\\test1.zip"); ArrayList filesToAdd = new ArrayList(); filesToAdd.add(new File("c:\\ZipTest\\sample.txt")); filesToAdd.add(new File("c:\\ZipTest\\文件.doc")); filesToAdd.add(new File("c:\\ZipTest\\파일.xls")); filesToAdd.add(new File("c:\\ZipTest\\ファイル.ppt")); ZipParameters parameters = new ZipParameters(....
在仓库目录下新建一个名为.gitignore的文件(因为是点开头,没有文件名,没办法直接在windows目录下直接创建,必须通过右键Git Bash,按照linux的方式来新建.gitignore文件)。如下图所示。 .gitignore文件对其所在的目录及所在目录的全部子目录均有效。通过将.gitignore文件添加到仓库,其他开发者更新该文件到本地仓库,以共享同一套忽略规则。 以下涉及的ignore文件均为如下格式: # 以'#'开始的行,被视为注释. # 忽略掉所有文件名是 foo.txt的文件. foo.txt # 忽略所有生成的 html文件, *.html # foo.html是手工维护的,所以例外. !foo.html # 忽略所有.o和 .a文件. *.[oa] 配置语法: 以斜杠“/”开头表示目录; 以星号“*”通配多个字符; 以问号“?”通配单个字符 以方括号“[]”包含单个字符的匹配列表; 以叹号“!”表示不忽略(跟踪)匹配到的文件或目录; 常用的规则: 1)/mtk/ 过滤整个文件夹 2)*.zip 过滤所有.zip文件 3)/mtk/do.c 过滤某个具体文....
Java获取系统信息(用户目录,临时目录等) col1col2col3 java.versionJava运行时环境版本 java.vendorJava运行时环境供应商 java.vendor.urlJava供应商的 URL java.homeJava安装目录 java.vm.specification.versionJava虚拟机规范版本 java.vm.specification.vendorJava虚拟机规范供应商 java.vm.specification.nameJava虚拟机规范名称 java.vm.versionJava虚拟机实现版本 java.vm.vendorJava虚拟机实现供应商 java.vm.nameJava虚拟机实现名称 java.specification.versionJava运行时环境规范版本 java.specification.vendorJava运行时环境规范供应商 java.specification.nameJava运行时环境规范名称 java.class.versionJava类格式版本号 java.cla....
# cd FutuOpenD_2.7.650_Centos7 # nohup ./FutuOpenD >/dev/null 2>&1 &