自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 获取公募基金持仓【数据分析系列博文】

从指定网址获取公募基金持仓数据,快速解析并存储数据。(该博文针对自由学习者获取数据;而在投顾、基金、证券等公司,通常有Wind、聚源、通联等厂商采购的数据)pandas 用于数据处理和操作。requests 用于发送 HTTP 请求并获取响应。re 用于正则表达式的匹配,用来从网页源代码中提取所需数据。sqlalchemy 用于数据库操作。pymysql 用于连接 MySQL 数据库。

2024-04-18 01:13:16 485 1

原创 获取公募基金净值【数据分析系列博文】

从指定网址获取公募基金净值数据,快速解析并存储数据。(该博文针对自由学习者获取数据;而在投顾、基金、证券等公司,通常有Wind、聚源、通联等厂商采购的数据)导入所需的库:代码导入了一些常用的库,包括ast(用于安全地将字符串转换为Python对象)、pandas(用于数据处理)、requests(用于发送HTTP请求)、re(用于正则表达式匹配)、sqlalchemy和 pymysql(用于数据库操作)。

2024-04-17 22:41:56 571

原创 解析标准树状文件为sql语句及代码解析(python版本,txt,mysql)

解析标准化的树状文件为数据库tree表insert语句,涉及:自动编号指标id(NodeCode);获取节点间父子关系(ParentNode);所属层级(LevelNumber);是否为叶节点(NoteCategory:1中间节点,2叶子结点);设置同级节点间顺序(BrotherNo)...

2022-06-25 10:31:18 532 1

原创 解析标准树状文件为sql语句及代码解析(c++版本,txt,mysql)

输入:树状文件片段(txt为例)输出:自动生成的入库语句(mysql语句为例)

2022-06-20 10:34:32 474

原创 Mysql面试问题总结

Mysql引擎 InnoDB和MyISAM引擎区别 innodb默认的是行级锁,也支持表级锁,myisam只支持表级锁; 如果是事务型数据库,肯定首选innodb,因为innodb支持事务的提交和回滚; innodb支持外键,myisam不支持; 如果表用于插入新记...

2019-12-09 15:21:01 131

原创 docker学习

1.配置虚拟机centos7.4,并且要使主机(192.168.1.4)可以访问到该虚拟机(192.168.1.3)【网络选择桥接模式,全部允许】;用mobaX来连接虚拟机进行后面的操作。2.安装docker “ yum install docker ”;安装完以后,启动一下docker : systemctl start docker 之后试一下 命令:docker info 检查...

2019-11-03 14:16:41 89

原创 Win10安装Mysql5.7+Navicat

去官网下载https://dev.mysql.com/downloads/windows/installer/5.7.html,这个是msi版本,也就是直接安装就可以了需要登陆,并且下载起来有一点点慢,这里我已经替大家下载好了网盘:https://pan.baidu.com/s/1L__z4LaJJnysfKLsBEu-Gw提取码:3rzj下载好以后,开始安装,一路往下next,选择...

2019-09-21 15:12:33 246

原创 leetcode刷题 Top145

Leetcode top145题库刷题https://leetcode-cn.com/problemset/top/;包含题目,解析,实现代码和测试,托管在github平台上,欢迎同学们fork下来共同学习,也欢迎同学们提出修改请求。https://github.com/Chy2017/leetcodeTop145/tree/master/src/main/java/com/xj/sp...

2019-09-17 11:02:49 191

原创 新建第一个springboot工程

File --> New --> Project --> Spring Initializr这里的URL https://start.spring.io/也是一个填写项目配置信息的网页。它会直接生成一个压缩好的项目供我们下载。IntelliJ IDEA 其实也是用这个原理创建的项目,只不过这一切都在后台替我们完成了。往后设置,一直到Finish以后,开始自动下载项目依赖...

2019-09-15 22:00:06 155

原创 win10 IDEA配置spring

使用新电脑导入之前写过的spring的工程,会报错“没有配置spring”。我们在File --> Project Structure我们配置一下spring:spring的下载地址在https://repo.spring.io仓库,依次找到:libs-release-local-->org-->springframework-->spring...

2019-09-15 21:44:28 347

原创 win10下安装IDEA_2019.2.2

win10下安装IDEA并破解百度网盘分享:https://pan.baidu.com/s/1RF9c7FmQb9TVemIR6mB0NA提取码:71fz操作步骤:打开IDEA的exe文件,一切按照默认,安装路径可以自行调整,这是我的安装路径:D:\Program Files\JetBrains\IntelliJ IDEA 2019.2.2将jetbrains-agent这个jar包放...

2019-09-11 10:35:47 1657

原创 win10下安装jdk8

在oracle官网下载新版JDK,并不需要登录oracle账户,稍微多等一下就会开始下载https://www.oracle.com/technetwork/java/javase/downloads/index.html以默认路径安装,这里安装最通用的jdk8和最新的jdk12,下面以jdk8安装为例百度网盘分享 https://pan.baidu.com/s/1Ju9meX8A...

2019-09-10 14:19:38 214 1

原创 Java中父类引用指向子类对象好处

比如对于HashMap与Map的理解:HashMap 是 Map 接口的常用实现类(Map是一个接口),是一个键值对集合,建议使用实现接口的方式使用Map,如:Map<String, Object> parameters = new HashMap<>();不建议这样:HashMap<String, Object> parameters = new Ha...

2019-09-09 04:44:47 3284

原创 数据结构--处理特殊业务场景

延迟队列延时任务有别于定式任务,定式任务往往是固定周期的,有明确的触发时间。而延时任务一般没有固定的开始时间,它常常是由一个事件触发的,而在这个事件触发之后的一段时间内触发另一个事件。也就是说,任务事件生成时并不想让消费者立即拿到,而是延迟一定时间后才接收到该事件进行消费。“延迟队列”也是一个消息队列,相对于普通消息队列(只有消息本身),延迟队列中还有一个重要元素就是说明这个消息何时被消费......

2019-09-05 15:50:57 124

原创 锁系列:可重入锁

概述:什么是 “可重入”,可重入就是说某个线程已经获得某个锁,可以再次获取锁而不会出现死锁。可重入锁有synchronized ReentrantLockReentrantLock 和 synchronized 不一样,需要手动释放锁,所以使用 ReentrantLock的时候一定要手动释放锁,并且加锁次数和释放次数要一样例如:package com.cn.xj.to......

2019-09-05 15:40:46 130

原创 Java中集合的线程安全性

线程安全概念 线程安全:就是当多线程访问时,采用了加锁的机制;即当一个线程访问该类的某个数据时,会对这个数据进行保护,其他线程不能对其访问,直到该线程读取完之后,其他线程才可以使用。防止出现数据不一致或者数据被污染的情况。 线程不安全:就是不提供数据访问时的数据保护,多个线程能够同时操作某个数据,从而出现数据不一致或者数据污染的情况。 对于线程不安全的问题,一般会使用sync...

2019-09-04 19:47:34 252

原创 Java之数据结构(一)

LinkedHashMap、TreeMap、TreeSet LinkedHashMap:顺序存取的HashMap(基于数组和双向链表实现)。 TreeMap:内部排序(基于红黑树实现)。 TreeSet:有序的Set集合(基于二叉树实现)。ArrayList、LinkedList、Vector ArrayList:动态数组(基于数组实现)。 LinkedLi...

2019-09-04 18:38:05 80

原创 Innodb引擎 vs MyIASM引擎

Innodb引擎,Innodb引擎提供了对数据库ACID事务的支持。并且还提供了行级锁和外键的约束。它的设计的目标就是处理大数据容量的数据库系统。它本身实际上是基于Mysql后台的完整的系统。Mysql运行的时候,Innodb会在内存中建立缓冲池,用于缓冲数据和索引。但是,该引擎是不支持全文搜索的。同时,启动也比较的慢,它是不会保存表的行数的。当进行Select count(*) from ta...

2019-09-03 12:39:09 134

原创 java数据结构 --- HashMap&&HashTable

HashMap总结:1、HashMap底层是用数组+双向链表+红黑树实现的2、插入元素的时候,首先通过一个hash方法计算得到key的哈希值,进而计算出待插入的位置3、如果该位置为空,则直接插入(包装成Node)4、如果该位置有值,则依次遍历。比较的规则是,“hash值相同,key值相等”的元素视为相同,则用新值替换旧值并返回旧值。5、如果该位置的元素是红黑树结构,则同理,查找...

2019-09-03 12:29:43 113

原创 Redis相关解析

Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API的非关系型数据库。传统数据库遵循 ACID 规则。而 NoSQL(Not Only SQL 的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称) 一般为分布式,而分布式一般遵循 CAP 定理。CAP定理一致性(Consi......

2019-08-31 10:19:10 215

原创 NoSQL非关系型数据库

NoSQL,指的是非关系型的数据库。NoSQL有时也称作 Not Only SQL 的缩写,意即"不仅仅是SQL",是对不同于传统的关系型数据库的数据库管理系统的统称。NoSQL用于超大规模数据的存储。CAP定理一致性(Consistency)(所有节点在同一时间具有相同的数据) 可用性(Availability)(保证每个请求不管成功或者失败都有响应) 分隔容忍(Partit...

2019-08-30 18:13:29 462

原创 分布式锁的实现---基于缓存(Redis等)方式(推荐使用)

前言:锁是用来解决什么问题的1. 一个进程中的多个线程,多个线程并发访问同一个资源的时候,如何解决线程安全问题。2. 一个分布式架构系统中的两个模块同时去访问一个文件对文件进行读写操作3. 多个应用对同一条数据做修改的时候,如何保证数据的安全性在单进程中,我们可以用到synchronized、lock之类的同步操作去解决,但是对于分布式架构下多进程的情况下,如何做到跨进程的锁(分布......

2019-08-30 10:58:21 198

原创 分布式锁的实现---基于Zookeeper方式(推荐使用)

前言:锁是用来解决什么问题的1. 一个进程中的多个线程,多个线程并发访问同一个资源的时候,如何解决线程安全问题。2. 一个分布式架构系统中的两个模块同时去访问一个文件对文件进行读写操作3. 多个应用对同一条数据做修改的时候,如何保证数据的安全性在单进程中,我们可以用到synchronized、lock之类的同步操作去解决,但是对于分布式架构下多进程的情况下,如何做到跨进程的锁(分布......

2019-08-27 21:11:29 129

原创 锁系列:乐观锁、悲观锁

何谓悲观锁与乐观锁乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转......

2019-08-27 15:59:24 58

原创 分布式锁的实现---基于数据库方式(不推荐)

前言:锁是用来解决什么问题的1. 一个进程中的多个线程,多个线程并发访问同一个资源的时候,如何解决线程安全问题。2. 一个分布式架构系统中的两个模块同时去访问一个文件对文件进行读写操作3. 多个应用对同一条数据做修改的时候,如何保证数据的安全性在单进程中,我们可以用到synchronized、lock之类的同步操作去解决,但是对于分布式架构下多进程的情况下,如何做到跨进程的锁(分布......

2019-08-26 17:56:04 288

原创 初识Zookeeper

简单来说 zookeeper = 文件系统 + 监听通知机制。Zookeeper能做什么zookeeper功能非常强大,可以实现诸如分布式应用配置管理、统一命名服务、状态同步服务、集群管理等功能,我们这里拿比较简单的分布式应用配置管理为例来说明。假设我们的程序是分布式部署在多台机器上,如果我们要改变程序的配置文件,需要逐台机器去修改,非常麻烦,现在把这些配置全部放到zookeepe...

2019-08-26 17:10:33 63

原创 kafka原理理解(一)

1.Kafkaconsumer是否可以消费指定分区消息?Kafkaconsumer消费消息时,向broker发出"fetch"请求去消费特定分区的消息,consumer指定消息在日志中的偏移量(offset),就可以消费从这个位置开始的消息,customer拥有了offset的控制权,可以向后回滚去重新消费之前的消息,这是很有意义的。消费者每次消费数据的时候,消费者都会记录消费的物理偏移量......

2019-08-26 16:32:40 305

原创 kafka原理理解(二)

术语和基本概念Broker:任何正在运行中的Kafka示例都称为Broker。 Topic:Topic其实就是一个传统意义上的消息队列。 Partition:即分区。一个Topic将由多个分区组成,每个分区将存在独立的持久化文件,任何一个Consumer在分区上的消费一定是顺序的;当一个Consumer同时在多个分区上消费时,Kafka不能保证总体上的强顺序性(对于强顺序性的一个实现是Ex......

2019-08-26 15:55:04 116

原创 初识Hadoop生态圈、MapReduce、Spark计算引擎

具体而言,Apache Hadoop软件库是一个允许使用简单编程模型跨计算机集群处理大型数据集合的框架,其设计的初衷是将单个服务器扩展成上千个机器组成的一个集群为大数据提供计算服务,其中每个机器都提供本地计算和存储服务。  Hadoop工程包括以下模块:Hadoop Common:支持其他Hadoop模块的通用工具。 Hadoop Distributed File System(HDFS...

2019-08-26 12:05:06 312

原创 Java设计模式---单例模式

单例(Singleton)模式,是java中最简单的设计模式之一。这种类型的设计模式属于“创建模式”,因为此模式提供了创建对象的最佳方法之一。这种模式设计一个类,它负责创建一个对象,同时确保只创建一个对象。这个类提供了一种方法来访问它唯一的对象,可以直接访问,而不需要实例化类的对象。现实实例第一步:创建一个单例类package com.cn.xj.tool.Single;/*...

2019-08-26 11:20:51 95

原创 Java设计模式---工厂模式

工厂模式是Java中最常用的设计模式之一。工厂模式适用的一些场景(不仅限于以下场景):1. 对象的创建过程/实例化准备工作很复杂,需要初始化很多参数、查询数据库等。2. 类本身有好多子类,这些类的创建过程在业务中容易发生改变,或者对类的调用容易发生改变。第一步:创建“Shape”的接口//创建一个接口Shape.javapublic interface Shape{ ...

2019-08-25 17:31:33 87

原创 浅谈Mock测试

Mock框架的选择在整个java生态圈中,支持mock的开源框架还是比较多的,比如常用的Mockito、PowerMock、EasyMock和JMockit等开源框架。这些框架在mock方面都具有比较强大的功能与比较广泛的使用量。但是这些框架都具有一个相同的缺点,那就是需要或多或少的编码工作来mock所需要的接口返回数据。在设计mock框架的时候,我们考虑到尽量让写单元测试的人员或研发人员...

2019-08-24 23:40:06 183

原创 JAVA NIO vs IO

Java NIO和IO的主要区别(面向Steam、阻塞IO)IO VS NIO(面向Buffer,非阻塞IO,Selectors)1.面向Stream和面向BufferJava NIO和IO之间最大的区别是IO是面向流(Stream)的,NIO是面向块(buffer)的,所以这意味着什么?面向流意味着从流中一次可以读取一个或多个字节,拿到读取的这些做什么你说了算,...

2019-08-24 23:38:18 77

原创 Java的IO基本概念及细节

1.Java中几种类型的流?字符流和字节流。字节流继承InputStream和OutputStream;字符流继承自InputSteamReader和OutputStreamWriter。2.Java对象的序列化指将一个java对象写入IO流中,与此对应的是,对象的反序列化则从IO流中恢复该java对象。如果要让某个对象支持序列化机制,则必须让它的类是可序列化的,为了让某个...

2019-08-24 23:35:40 152

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除