自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Xiaowei's Blog

福州大学计算机在读研究生,有任何问题可以联系我,邮箱[email protected]

  • 博客(43)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java基础知识总结 ——HashMap源码

一、HashMap的架构HashMap底层主要是通过数组+链表+红黑树实现的,当链表的长度大于等于8的时候,链表会转化为红黑树,当红黑树的大小小于等于6时,红黑树会转化为链表。二、常见属性 /* * 类注释 * 1、不同于HashTable,允许key值和value为null,线程不安全。 * 2、loadFactor(影响因子)默认值是0.75,是均衡了时间和...

2020-04-23 16:29:02 325

原创 Java基础知识总结 ——LinkedList源码

一、整体架构及属性LinkedList底层数据结构是一个双向链表,如图:链表中的元素时Node,结构如下:private static class Node<E> { E item;// 节点值 Node<E> next; // 指向的下一个节点 Node<E> prev; // 指向的前一个节点 // 初始化参数顺序分...

2020-04-22 22:44:32 294

原创 Java基础知识总结 ——ArrayList源码

一、ArrayList相关属性重要的部分都用了中文注释 /** * 类注释 * 1、允许 put null 值,会自动扩容 * 2、size、isEmpty、get、set、add 等方法时间复杂度都是 O (1) * 3、是非线程安全的,多线程情况下,推荐使用线程安全类:Collections#synchronizedList; * 4、增强...

2020-04-22 20:17:38 278

原创 Java基础知识总结 ——集合

1. ListList是有序的Collection,List一共有三个实现类:ArrayList、Vector和LinkedList。1.1. ArrayListArrayList内部是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要将已经有数组的数据复制到新的存储空间中。当从ArrayList的中间位置插入或者删除元...

2020-04-22 17:33:29 272

原创 Java基础知识总结 —— String类

1、String类的概述(1)String 类代表字符串。Java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例实现。(2)字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串(StringBuffer)。因为 String 对象是不可变的,所以可以共享。关于字符串是常量可以看下面这个例子:String str1 = "abc";String str2 ...

2020-04-01 15:39:29 241

原创 使用Java部署TensorFlow和Keras训练好的深度学习模型的几种方法

写在前面最近在一个自然语言处理方面的项目,选用的深度学习模型有两个,一个是CNN+LSTM模型,一个是GRU模型,这两个模型在GPU服务器上训练好了,然后需要使用Java调用这两个模型,CNN+LSTM使用TensorFlow写的,GRU是用Keras写的,所以需要用Java部署TensorFlow和Keras训练好的深度学习模型。关于这方面的内容网上并不是很多,我也是费了很多周折才完成任务的,...

2019-07-17 11:09:19 9142 7

原创 深入学习ElasticSearch(五)——ElasticSearch较复杂的查询

上一篇博客讲解了elasticsearch的mapping的相关知识,那么这一篇我就来讲一下如果elasticsearch的索引的mapping特别复杂的话怎么样去查询我们想要的数据。1、建立索引,插入数据先利用kibana工具建立一个复杂的索引,建立索引如下:PUT user{ "mappings": { "student": { "properties": {...

2019-07-08 10:48:31 3067

原创 深入学习ElasticSearch(四)——mapping的详细讲解

mapping的详细讲解1、Mapping的简单介绍mapping定义了type中的每个字段的数据类型以及这些字段如何分词等相关属性,mapping是elasticsearch中很重要的一个部分,之前文章中介绍的都是通过以下方式创建一个索引的PUT person/student/1{ "name":"lihua", "age":18}然后我们用以下语句查看一下这个索引的map...

2019-06-18 08:55:11 4368

原创 深入学习ElasticSearch(三)——ElasticSearch的简单使用

ElasticSearch的简单使用(利用kibana工具)前两篇博客讲了ElasticSearch和Kibana的安装,前面都是基于分布式安装的,利用到了3台虚拟节点。由于最近学校的服务器不太稳定导致虚拟结点不能使用了,这一篇文章我用我在windows上安装的elasticsearch和kibana来完成elasticsearch的简单使用。这一篇文章我们用kibana这个非常好用的工具来学习...

2019-05-09 16:06:50 479

原创 深入学习ElasticSearch(二)——kibana安装

kibana安装和简单使用这里我们就不安装head插件了,因为kibana确实要比head插件好用的多。1、介绍Kibana是一个针对Elasticsearch的开源分析及可视化平台,使用Kibana可以查询、查看并与存储在ES索引的数据进行交互操作,使用Kibana能执行高级的数据分析,并能以图表、表格和地图的形式查看数据2、安装这里kibana只需要在三个虚拟节点中的任意一个节点上安...

2019-05-06 19:27:00 301

原创 深入学习ElasticSearch(一)——ElasticSearch安装

ElasticSearch安装前言:由于最近帮导师做项目,需要用到ElasticSearch去存储数据,深知ElasticSearch当中的一些坑,准备写一个系列的深入学习ElasticSearch,帮助大家轻松使用ElasticSearch。本文是在centos7.4上面安装的(文中的安装步骤同样适用于Ubuntu),我准备了三台虚拟结点ip分别是(192.168.20.41,192.168...

2019-05-06 15:37:03 406

原创 数据结构学习心得——二叉树的三种遍历算法

二叉树主要的遍历方式有四种,先序遍历,中序遍历,后序遍历和层次遍历(层次遍历放到下一篇博客单独讲)。 1、先序遍历 a.访问根结点 b.先序遍历左子树 c.后序遍历右子树2、中序遍历 a.先序遍历左子树 b.访问根结点 c.后序遍历右子树3、后序遍历 a.先序遍历左子树 b.后序遍历右子树 c.访问根结点看上很简单,代码实现也很简单,但是很多算法都是基于这几种遍历而衍生出来的,所

2017-09-29 12:21:55 4481

原创 数据结构学习心得——顺序队和链队

队列的定义和栈相反队列是一种先进先出的线性表。它只允许在表的一端进行插入,而在另一端删除元素。这和我们日常生活中的排队是一致的,最早进入队列的元素最早离开。在队列中,允许插入的一端叫做队尾,允许删除的一端叫做对头。顺序队和链队顺序队列是队列的顺序存储结构,顺序队列实际上是运算受限的顺序表。和顺序表一样,顺序队列用一个向量空间来存放当前队列中的元素。由于队列的队头和队尾的位置是变化的,设置两个指针fr

2017-08-29 20:33:48 8733

原创 数据结构学习心得——顺序栈和链栈

栈的定义栈是限定尽在表尾进行插入或者删除操作的线性表。因此,对栈来说,表尾端有其特殊含义,称为栈顶,相应地,表头端称为栈底。不含元素的空表称为空栈。栈又称为后进先出的线性表。 和线性表类似,栈也有两种存储表示方法。 顺序栈,即栈的顺序存储结构是利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,同时附设指针top只是栈顶元素在顺序栈中的位置。这里以top=-1表示空栈。 链式栈可以通

2017-08-23 17:47:10 17400 1

原创 数据结构学习心得——双链表和循环链表

双链表若要寻查结点的前驱,则需要从表头指针出发。为了克服单链表这种单向性的缺点,可以利用双链表。顾名思义,在双链表的结点中有两个指针域,其一指向直接后继,另一指向直接前驱。 循环链表循环链表是另一种形式的链式存储结构。它的特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环。由此,从表中任一结点出发均可找到表中其他结点。 代码实现这里的代码只实现了创建部分的代码,其他的一些查找,删除,添

2017-08-22 17:25:48 1333

原创 数据结构学习心得——单链表

一、线性表的存储结构顺序表(顺序表操作见上一篇博客)链表 在链表存储中,每个结点不仅包含所有的元素的信息,还包含元素之间逻辑关系的信息,如单链表中前驱结点包含后继结点的地址信息,这样就可以通过前驱结点中的地址信息找到后继结点的位置。 (2)单列表 在每个节点中除了包含数据域外,还包含一个指针域,用以指向其后继结点。下图所示为带头结点的单链表。 a.带头结点的单链表中,头指针head指

2017-08-17 18:36:14 16305

原创 数据结构学习心得——复习数据结构的原因

博主一个本科软件专业大四狗。之前一直学的是iOS开发,也写了一些iOS开发的博客,其中写的都是我做项目的时候遇到的,感觉比较重要的东西。自从博主决定考研了以后,就很长一段时间没有再接触iOS,博客也很久没有写过博文了,最近自己一直在复习考研数据结构,想把自己复习的东西总结起来写成博客,供大家参考。数据结构的内容还是比较多的,有一些算法也挺复杂的,不论是考研还是找工作,数据结构都是重中之重,我希望把自

2017-08-17 17:35:37 776

原创 数据结构学习心得——顺序表

一、线性表的定义线性表是具有相同特性数据元素的一个有限序列。该序列中所含元素的个数叫做线性表的长度,用n(n>0)表示。二、线性表的存储结构线性表的存储结构有顺序存储和链式存储两种。前者称为顺序表,后者称为链表(链表见下篇博客,这里介绍下顺序表)。顺序表 顺序表就是把线性表中的所有元素按照其逻辑顺序,一次存储到从指定的春初位置开始的一块连续的存储空间中。顺序表的操作 顺序表的基本操作有初始化

2017-08-16 23:07:06 12027

原创 iOS开发——pch文件添加和使用

添加pch文件Xcode6之后不会自动创建-Prefix.pch文件到你的工程里,所以我们想使用pch文件的话得自己手动导入,下面就介绍下如何手动添加pch文件到工程目录中去。 (1)打开你已经存在的XCODE工程. 选择 File > New > File > iOS > Other > PCH File 然后点击下一步.(2)给你的PCH文件起名字projectName-Prefix.pch.

2016-07-22 09:47:44 1640

原创 Android开发入门——Android系统介绍和开发环境的搭建

一、Android操作系统介绍android系统是由安迪鲁宾团队开发的,最初用于数码相机,2005.08被google收购,android名字是因为安迪鲁宾喜欢一个游戏的人物–大瓢虫,android应用范围:手机,平板,智能家居,穿戴设备。二、Android系统架构分层的架构 JNI java native interface 1.application :应用层 ; java

2016-06-21 16:50:16 1108

原创 iOS开发——多线程编程(GCD)

Grand Central Dispatch简介Grand Central Dispatch 简称 GCD 是苹果公司开发的技术,是对于多核编程的较新解决方案。它主要用于优化应用程序以支持多核处理器以及其他对称多处理系统。 GCD 提供了一种很简单的操作方式来实现并行处理。你可以把你要的并发执行的代码放在一个block钟,然后把这个block加入到一个queue当中。 在GCD中为我们需要执行的

2016-06-18 10:45:56 3712

原创 iOS开发——CocoaPods安装与使用

之前的博客中介绍了好多的第三方框架,这次介绍一下CocoaPods这个工具。当你开发iOS应用时,会经常使用到很多第三方开源类库,然后我们一般的做法是下载第三方类库,然后拖入我们的项目中,但是如果用的第三方类库很多的时候,我们一个个下载拖入很麻烦,这时候我们就需要CocoaPods来处理这个问题了。CocoaPods的简介CocoaPods项目的源码(https://github.com/Cocoa

2016-06-14 16:45:40 3384

原创 iOS开发——布局框架Masonry的介绍与使用

平时代码中的视图经常要用CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height);来布局,不仅代码繁多不好计算而且屏幕适配也很麻烦,这时候就我推荐使用布局框架Masonry,这样可以优化自己的代码,是布局更加简单和简洁。Masonry is a light-weight layout framework which wraps A

2016-06-13 18:55:36 3068

原创 iOS开发——网络请求数据处理

之前博客中介绍了iOS中常用的网络框架AFNetworking,其中常用的POST请求方法如下:AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];NSDictionary *parameters = @{@"foo": @"bar"};[manager POST:@"http://ex

2016-06-05 17:54:05 5688

原创 iOS开发——搜索框(UISearchController)

最近自己在写一个APP,其中需要实现搜索框搜索功能,于是乎就想写篇博客介绍下UISearchController和搜索框的实现。 我写的是一个天气预报APP,直接以我APP中的源代码来详细介绍下搜索框的实现。 注:在iOS 8.0以上版本中, 我们可以使用UISearchController来非常方便地在UITableView中添加搜索框. 而在之前版本中, 我们还是必须使用UISearchBa

2016-06-03 21:02:19 5433

原创 iOS开发——AFNetworking框架使用详解

AFNetworking is a delightful networking library for iOS and Mac OS X.It’s built on top of the Foundation URL Loading System, extending the powerful high-level networking abstractions built into Cocoa.

2016-05-28 21:45:57 7371 3

原创 iOS开发——SDWebImage框架使用详解

This library provides a category for UIImageView with support for remote images coming from the web. (这个类库提供一个UIImageView类别以支持加载来自网络的远程图片)使用方法(已下代码是框架类README的实例代码)- (UITableViewCell *)tableView:(UITab

2016-05-14 21:48:09 1075

原创 iOS开发——新特性界面(UICollectionView)

没一款app在刚下载或者更新之后,app有些特色功能需要向用户传递,这个时候我们就要使用新特新界面,用户刚打开软件能看到各种展示图片,左右滑动还可以切换图片,那么新特性界面是如何实现的呢,下面我就用介绍下用如何代码去实现性特性界面,用的是iOS中的UICollectionView,自定义cell去实现的。CollectionViewCell.h中#import <UIKit/UIKit.h>@int

2016-05-13 21:23:03 960

原创 iOS开发——数据库(FMDB框架的使用)

FMDB是iOS开发中常用的sqlite数据库框架,它比苹果自带的Core Data框架,更加轻量级和灵活,下面就介绍下框架的基本使用方法。 FMDB有三个主要类:FMDatabaseFMResultSetFMDatabaseQueue一个FMDatabase对象就是一个sqlite数据库对象,FMDatabase用来执行sql语句的,使用FMDatabase执行查询后的结果集,FMDat

2016-05-13 21:16:18 901

原创 iOS开发——抽屉效果实现

抽屉效果的原理:其实就是把两个子控制器添加到一个RootViewController中,将子控制器的view添加到RootViewController的view上,然后改变子控制器view的frame实现抽屉的效果。 下面直接看看我自己写的一个小demo。RootViewController.h//两个子控制器leftView和midView@property(nonatomic,weak)UI

2016-04-27 17:31:10 2573

原创 iOS开发——手势识别器(用手势实现图片旋转和缩小放大)

iOS开发中,除了有关触摸的这组方法来控制用户的手指触控外,还可以用UIGestureRecognize的衍生类来进行判断,方便了开发。 UIGestureRecognize的子类类别有以下几种:UITapGestureRecognizer //轻拍识别器UIPinchGestureRecognizer //捏合识别器UIRotationGestureRecognizer //旋转识别器U

2016-04-25 21:45:56 4578

原创 iOS开发——单例模式(singleton)解决音乐播放器等开发中问题

开发中很多时候需要一个全局的东西,保证全局仅有一份即可,这个时候单例是最佳的选择。 单例模式:在程序运行过程,一个类只有一个实例,无论如何程序运行过程中只有一份实例。 音乐播放器中就需要这种单例模式,实现每次进播放器界面都是同一份实例。实现MusicPlayerViewController类的单利模式//利用GCD的dispatch_once的方法实现单利模式+ (instancetype)d

2016-04-23 21:52:10 2528 2

原创 iOS开发——block传值

要实现界面之间值得传递,有两种方法,一种是利用代理传值,另一种是利用block传值。 Apple 官方文档中是这样介绍block的,A block is an anonymous inline collection of code,and sometimes also called a “closure”.block是个代码块,但可以将他当做一个对象处理。下面就举个利用block实现界面间的传值。

2016-04-21 22:29:27 698

原创 iOS开发——使用代理(Delegate)实现跨界面执行跳转请求

先说说我遇到的问题吧,我自定义了一个UITableViewCell,上面有一个UIButton按钮,我想通过点击这个按钮实现视图跳转,UIButton的点击触发的事件是写在UITableViewCell中的,但视图跳转必须是在UITableViewController中才能实现的。这时候我就想到了通过代理(Delegate)实现这一需求。先创建一个协议继承NSObject,命名为viewDelega

2016-04-20 21:56:13 2452 1

原创 iOS开发——界面跳转方法总结

一、UITableBarController(标签栏控制器)中的界面跳转我是在AppDelegate.m中写的代码,代码如下- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow

2016-04-19 11:48:54 4348

原创 iOS开发——纯代码界面(自定义UITableViewCell)

自定义UITableViewCell创建一个TableViewController类继承于UITableViewController,创建一个TableViewCell类继承于UITableViewCell。AppDelegate.m编写代码如下- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions

2016-04-18 18:25:46 18703

原创 iOS开发——纯代码界面(UITableViewController)

创建UITableViewController(表视图控制器)创建一个类TableViewController继承UITableViewController 1、AppDelegate.m中代码如下(记得导入TableViewController不然报错)- (BOOL)application:(UIApplication *)application didFinishLaunchingWithO

2016-04-18 17:47:35 3780

原创 iOS开发——纯代码界面(UITabBarController,UINavigationController,UIImageView)

一、创建UITabBarController和UINavigationController(标签栏控制器和导航控制器)创建两个类,FirstViewController和SecondViewController。修改AppDelegate.m中的代码。- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOpti

2016-04-17 19:49:34 2053

原创 iOS开发——纯代码界面(UIViewController和文本类控件)

一、添加视图控制器(UIViewController)创建一个ViewController类继承UIViewController ViewController.m做如下修改- (void)viewDidLoad { [super viewDidLoad]; //为了方便观察,设置背景颜色为蓝色 self.view.backgroundColor = [UIColor blue

2016-04-17 16:06:47 5520

原创 Ubuntu下安装配置Hadoop

Hadoop分布式计算平台是由Apache软件基金会开发的一个开源分布式计算平台。以Hadoop分布式文件系统(HDFS)和MapReduce(Google MapReduce的开源实现)为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构。 在这里介绍用虚拟机搭建伪分布式。 需要的软件有: 1.VMware10 2.ubuntu-14.04.4镜像 3.hadoop-2.2.

2016-03-30 17:08:10 675

空空如也

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

TA关注的人

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