自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (1)
  • 收藏
  • 关注

原创 【3月15日】BIO、伪异步IO以及NIO编程实践

1.引言从java的I/O体系发展的历史看,先有java.io,后有java.nio。前者一般称之为IO,后者称之为NIO(New IO)。但是又由于其特性前者又成为BIO(Block IO),后者对应为NIO(No-block IO)。2. IO,NIO,NIO2.02.1 IOjava的IO通过java.io包下的接口和类来支持。在jav.io包下,主要包括输入、输出两种IO流,每种输入、输出流

2018-03-16 00:43:18 327

原创 【3月6日】源码阅读日记(1):HashMap

前言首先,致敬下几位authors@author Doug Lea@author Josh Bloch@author Arthur van Hoff@author Neal GafterHashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红

2018-03-07 01:17:44 445 1

原创 【1月25日】从java集合框架的角度看数据结构

基本的数据结构 JAVA集合概述JAVA集合框架的四个主要体系:Set,List,Queue和Map1. 基本数据结构数据结构是指计算机存储、组织数据的方式。这里面有两个内涵,一是数据的逻辑结构;二十数据的物理结构。 数据的逻辑结构反映了元素之间的逻辑关系,逻辑结构主要包括: (1).线性结构 元素存在着一对一的相互关系。数组就是最简单暴力的线性结构,此外还有链表,再增

2018-01-25 19:53:48 297

原创 【12月22日】LeetCode刷题日志(六):132 Pattern

题目描述 Given a sequence of n integers a1, a2, …, an, a 132 pattern is a subsequence ai, aj, ak such that i < j < k and ai < ak < aj. Design an algorithm that takes a list of n numbers as input and chec

2017-12-25 21:14:25 223

原创 【12月22日】LeetCode刷题日志(五):Min Cost Climbing Stairs

题目描述 On a staircase, the i-th step has some non-negative cost cost[i] assigned (0 indexed). Once you pay the cost, you can either climb one or two steps. You need to find minimum cost to reach

2017-12-25 19:32:02 256

原创 【12月20日】LeetCode刷题日志(四):Min Cost Climbing Stairs

题目描述 On a staircase, the i-th step has some non-negative cost cost[i] assigned (0 indexed). Once you pay the cost, you can either climb one or two steps. You need to find minimum cost to reach the t

2017-12-20 16:36:27 276

原创 【12月19日】LeetCode刷题日志(三):Best Time to Buy and Sell Stock with Transaction Fee

题目描述: Your are given an array of integers prices, for which the i-th element is the price of a given stock on day i; and a non-negative integer fee representing a transaction fee. You may complete a

2017-12-19 15:22:39 219

原创 【12月19日】LeetCode刷题日志(二):Hamming Distance

package com.njust.med.totalhammingdistance;/** * The Hamming distance between two integers is the number of positions at which the * corresponding bits are different. * Now your job is to find th

2017-12-19 10:51:43 229

原创 【11月12日】NumPy基础:数组和矢量计算

Numpy是高性能科学计算和数据分析的基础包,一直活跃在各种以python为基础的数据分析策略中。根据《Python for dataanalysis》一书的介绍,其部分功能如下:ndarrary,具有矢量算术运算和复杂广播能力(本书将boardcasting定义为不同形状的数组之间算术运算的执行方式)的快速且节省空间的多维数组。用于读写磁盘数据数据的工具以及用于操作内存映射文件的工具。

2017-11-12 21:21:15 478

原创 【10月31日】机器学习实战(二)决策树:隐形眼镜数据集

决策树的优点:计算的复杂度不高,输出的结果易于理解,对中间值的确实不敏感,可以处理不相关的特征数据决策树的缺点:可能会产生过度匹配的问题。其本质的思想是通过寻找区分度最好的特征(属性),用于支持分类规则的制定。那么哪些特征是区分度好的,哪些特征是区分度坏的呢?换句话说,如何衡量数据集中特征(属性)对实例的区分程度呢?依据香农的信息论,引入信息熵的思想作为对特征区分程度的度量。当然,

2017-10-31 20:50:03 6105

原创 【10月23日】机器学习实战(一)KNN算法:手写识别系统

k-近邻算法怕是最简单的机器学习的分类算法了。简单的说,k-近邻算法采用测量不同特征值之间的距离方法进行分类。源码+实验数据地址:https://github.com/MoonTreee/machine_learning其优点:精度高、对异常值不敏感、无数据输入假定;缺点:计算复杂度高、空间复杂度高;and 需要大量的标注数据适用数据范围:数值型和标称型。本文基于k-近邻算

2017-10-24 09:30:41 470

原创 【9月20日】 Improved Pattern Learning for Bootstrapped Entity Extraction(上)

摘要通过设立种子词,自举模式学习(bootstrapped pattern learning)可以从未标签化的文本中进行模式和实体的迭代学习。标签化数据的缺乏,会导致极性识别的困难(正向或者负向?)。通过扩展的分布式概率以及编辑距离,本文基于无监督学习的特征识别方法对特定领域以及一般文本进行特征提取。实验数据来自于医疗行业,对其中的drug-and-treatment信息进行抽取。1.引言虽然基于机

2017-09-20 23:41:06 927 1

原创 【9月18日】面向学术文献的知识挖掘方法研究

摘要本文提出一种基于位置加权的核心知识挖掘方法,旨在以句尾知识处理粒度,抽取正文中的核心句子作为独立的知识单元。通过量化句子间的关联,将正文表示成一个以句子为节点,句子间关联为边的文本关系网络,提出了基于章节的位置加权算法,结合社会网络分析方法,挖掘出文本中的核心知识单元部分的句子。相关概念知识抽取 是对蕴含于文献中的知识进行识别、理解、筛选、格式化,从而把文献中的各个知识点抽取出来,是信息抽取规则

2017-09-18 13:22:53 612

原创 【9月16日】中文信息MMT模型

近期读了《自然语言处理的形式模型》一书,为冯志伟老先生的科研精神点赞。致敬。作者根据依存语法和德国配价语法的精髓,针对N.Chomsky短语结构语法的弱点和汉语语法的特点,在80年代初提出了Multiple branched Multiple labeled Tree analysis,即多叉多标记树形图分析法(有称“中文信息MMT模型”)。早期的MMT模型提出汉语中的一系列的特征

2017-09-16 12:54:23 768

原创 【7月3日】设计模式:观察者模式

本系列主要是《head first 设计模式》的阅读笔记以及实验结果观察者模式观察者模式定义了一些列对象之间的一对多的关系;当一个对象改变状态,其他依赖的对象都会收到通知。认识观察者模式我们先看看报纸和杂志的订阅是怎么回事: 1.报社的业务就是出版报纸。 2.向某家报社订阅报纸,只要他们有新报纸出版,就会给你送来。只要你是他们的订阅用户,就会一致收到新报纸。 3.当你不想再看报纸的时候,取消订

2017-07-04 00:13:13 322

原创 【7月3日】LeetCode刷题日志(一):TwoSum

【七月三日】LeetCode刷题日志(一):TwoSum好久没有更新了。现在开始刷题package com.njust.day0703;import java.util.ArrayList;/** * Given an array of integers, return indices of the * two numbers such that they add up to a specifi

2017-07-03 21:42:24 458

原创 【4月21日】单例模式:饿汉和懒汉

要写的话都在程序的注释里面写了,就不啰嗦了直接上代码!首先创建用于测试的饿汉模式的单例package com;/* * 单例模式 singleton * 应用场景:对象只需要一个就可以了,如日志等 * 作用:保证程序中特定的实例有且只有一个 * 类型:饿汉模式、懒汉模式 * 以下是饿汉模式:不管用户是否需要,只要类加载,就会去创建单例模式的对象,即假设总是处于饥饿状态 * 第一步:修改

2017-04-21 19:57:42 363

原创 【4月20日】使用requests登陆教务处网站并查询课表

最近上课总是记不住是哪个教室,感觉每次都要人工登陆教务处网站去查教室很麻烦。正好在学习爬虫,于是想直接写个爬虫去帮我查课表信息岂不美哉?说干就干。使用requests,个人感觉比较好用的第三方库,基于py3;解析用beautifulsoup。打开Chorme,登陆南理工的教务处网站并跟踪登陆过程的网络行为。可以看见,需要输入的信息有三样。用户名和密码好办,主要是验证码的及时识别。拟

2017-04-20 09:23:20 1086

原创 【3月30日】手撕架构(四)从两行到一行--SQL语句封装以及连接“池”化

从两行到一行-利用反射机制自动完成 model–table的映射在上一文中,已经完成了对getCustomerList方法的优化。但是同样也暴露出来了问题。 在此方法中,直接使用String常量作为sql语句 String sql = "SELECT * FROM customer";这给数据库的操作带来了限制,因为是静态的常量,无法动态的实现数据库的查询。随着开发的推进,数据库里面不可能只有c

2017-03-30 12:14:48 629

原创 【3月28日】手撕架构(三)service的优化之路,从三十行到两行

在上文中,已经完成了getCustomerList功能的基本实现并顺利通过了的单元测试。但是也遗留了两个问题: 1.在CustomerService类中读取config.properties文件,这是不合理的。一个项目中不可能只有一个service,如果每个service都需要读取config,一来造成不必要的冗余,也存在安全风险。 2.执行一条select语句真的是好累啊,需要编写一大推代码

2017-03-28 15:05:57 546

原创 【3月28日】手撕架构(二)人工编写工具类以及业务开发初次迭代

本次项目主要分为以下几层:controller,model,service以及view。在标准的MVC架构中,是没有服务层的,然而实际中很少按照标准的来,可以将service层作为衔接controller与数据库的桥梁,可以使用接口和实现类来表达。在一些简单的应用中,无须使用接口,直接用类就可以了。下面就通过服务层的优化过程来体会代码重构的”艺术”。一:创建CustomerService和单元测试用

2017-03-28 13:15:48 382

原创 【3月27日】手撕架构(一)使用IDEA创建Maven项目

创建Maven项目Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项

2017-03-28 00:33:23 707

原创 【3月24日】Requests+正则表达式抓取猫眼电影Top100

本次实验爬虫任务工具较为简单,主要是熟悉正则表达式的匹配:pattern = re.compile('<dd>.*?board-index.*?>(\d+)</i>.*?data-src="(.*?)".*?name"><a.*?>(.*?)</a>.*?star">(.*?)</p>.*?releasetime">(.*?)</p>.*?integer">(.*?)</i>.*?fraction"

2017-03-24 22:48:41 2177

原创 【3月20日】Python自制简易爬虫框架

简易框架由以下几个模块:url管理器 :管理网址new_urls存放未爬取的网址的集合,old_urls存放已经爬取网址的集合html下载器 :使用urllib.request.urlopen(python3)对html资源进行下载html解析器 :使用BeautifulSoup对页面内容进行解析html输出器 :对爬取的结果封装成html文件输出url管理器 class UrlManag

2017-03-21 00:00:10 628 4

原创 【3月19日】JUnit4单元测试

引用块内容JUnit4使用实践创建包视图如下: 首先编写被测试类:package com.tree.util;public class Calculate { public int add(int a,int b){ return a+b; } public int subtract(int a,int b){ return a-b;

2017-03-20 00:32:19 471

原创 【3月17日】通过反射机制了解泛型的本质

package com.tree.reflect;import java.lang.reflect.Method;import java.util.ArrayList;public class MethodDemo01 { /** * 通过反射机制了解泛型的本质 */ public static void main(String[] args) { ArrayList l

2017-03-17 16:01:54 425

原创 【3月17日】Java 监听器

1. 认识监听器(Listener)监听器实际是实现了特定接口的类,这个类在web.xml中进行描述。服务器启动时,这个类可以监听一些关键事件的发生,如ServletContext的初始化和撤销、使用初始化参数查找名建立数据库连接、吧数据库连接存储为一个属性,使得web应用的各个部分可以访问等。 2. 监听器分类及用途接口监听内容Se

2017-03-17 10:59:15 290

原创 【3月2日】启航!GitHub入门教程:上传文件到GitHub

GitHub不多作介绍,上面有非常多优秀的项目以及神级开发人员。刚刚看了下时间线,申请账号已经八个月了。只是偶尔clone几个项目,刚开始的时候创建了一个HelloWorld,然后就再也没有动过了!为啥?不懂。不会。不学。不求上进!对着教程,终于成功commit一个基于SSH框架整合的项目。过程并不顺利,总是蹦出来形形色色的问题。好在网络有够发达,坑基本上被前人踩完了,花点时间和耐心,问题总能

2017-03-03 07:29:38 602

原创 【2月2日】设计模式:静态代理

最近在并发实践中,发现在具体的事件中,使用了一种java的设计模式:静态代理。想起来,代理模式的视频去年的暑假也有看过,但是那时候刚刚接触java,准确的说,是刚刚接触面向对象的编程,所以基本上什么都不懂。半年之后再看,有种苏卡斯乃的感觉。Proxy Pattern:Provide a surrogate or placeholderfor another object to control

2017-02-02 12:46:32 320

原创 【2月1日】并发(六):run()和start()

package com.tree.thread;public class MyThread extends Thread { private String name; public MyThread (String name){ this.name =name; } public void run(){ for(int i = 0;i<100;i++){ Syst

2017-02-01 14:40:45 400

原创 【2月1日】并发(五):Thread和Runable

JDK中,已经自带了对多线程技术的支持,可以方便的进行多线程编程。实现的方式主要有两种:继承Thread类和实现Runable接口。Runable接口仅需要实现一个run()的无参方法。类Thread实现了Runable接口,此时观察Thread类,有一个构造方法:public Thread(Runnable targer)此构造方法接受Runnable的子类实例,

2017-02-01 14:02:27 292

原创 【1月31日】并发(四):活跃度与性能

SynchronizedFactorizer.classpackage com.tree.thread;import java.math.BigInteger;public class SynchronizedFactorizer implements Servlet { private BigInteger lastNumber; private BigInteger[] las

2017-01-31 23:02:19 388

原创 【1月27日】并发(三):锁--/*新春快乐*/

通过线程安全对象来管理Servlet的全部状态,可以维护Servlet的线程安全性。如上一篇博客所提及。但是这样的限制是,只能在Servlet中加入一个状态变量。如果加入更多的状态变量,就可能引发潜在的安全问题。《java并发编程实践》针对前文中提到的完成因数分解的Servlet提出了一个新的需求:我们缓存最新的计算结果,以应对两个连续的客户请求相同的数字进行因数分解。要实现这个需求,需要同时缓存

2017-01-27 00:32:34 284

原创 【1月25日】并发(二):线程安全

1.线程安全1.1 什么是线程安全不知道是对文字的敏感还是愚钝,总觉得“下定义”是一件很难的事情。由是,特别对于那些简明扼要的定义,细细品味,竟也能衍生出优美。这一点看,自然科学未必就是那么纯粹的、无情感的。编写线程安全的代码,本质上就是管理对状态的访问,而且通常都是共享的、可变的状态。通俗的说,一个对象的状态,就是它的数据,存储在状态变量中(state variables)中,比如实例域

2017-01-25 17:08:26 343

原创 【1月24日】并发(一):线程与线程风险

1.线程的基本概念线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一

2017-01-24 18:15:43 362

原创 【12月16日】THUCTC实现基于支持向量机中文文本分类

基于支持向量机实现中文文本分类摘要 支持向量机(简称可看作一种广义的线性分类器,其基本思想是:通过非线性变换将输入空间变换到一个高维的特征空间,并在新空间中寻找最优的线性分界面。关键词 文本分类 特征提取 支持向量机1引言所谓“数据丰富但知识缺乏”的现状导致了数据挖掘(Data Mining)技术研究的兴起,数据挖掘是从海量的结构化信息中抽取或挖掘隐含信息和知识的重要方法和途径。其

2016-12-16 16:00:32 1968 2

原创 【12月13日】一道有趣的小题目

在很久很久以前,曾经看过这么一道题目;package com.tree.thread;class Singleton { private static Singleton singleton = new Singleton(); public static int counter1 ; public static int counter2 = 0; Singleton

2016-12-13 15:49:01 406

原创 【12月7日】类的初始化(二):构造器初始化

构造器初始化 Public class Counter{int I;Counter(){i=7;}}可以用构造器来进行初始化,但是无法阻止自动初始化的进行,因为自动初始化会在构造器被调用之前发生。因此,假如使用一下代码:那么i首先会被置为默认值0,然后再变成7。对于所有基本类型(都有初始值)和对象的引用(初始值是null),包括在定义时已经指定初始值的变量,这种情况都

2016-12-07 13:45:59 517

原创 【12月6日】类的初始化(一):构造器和this关键字

构造器:JAVA中通过构造器确保类的初始化。类的设计者可以在类创建时定义类的构造器,即使没有显示的构造构造器,JVM也会为类默认构造一个无参构造器。也可以构造多个构造器,JAVA会根据具体的情境(参数类型和数量)来选择合适的构造器—多态。this关键字:this关键字只能在方法的内部进行调用,表示对“调用方法的那个对象”的引用。package com.tree.thread;clas

2016-12-06 20:30:28 460

原创 【11月22日】听说下雪了!--ICATCLAS分词系统使用初探

}最近有用一个中科院的中文分词系统,感觉蛮颇爽。NLPIR汉语分词系统(又名ICTCLAS2013),主要功能包括中文分词;词性标注;命名实体识别;用户词典功能;支持GBK编码、UTF8编码、BIG5编码(此处是个坑,我的txt文件都是默认ASC编码,不转码的话就会出现乱码。上万个文件,目前尚没有找到满意的解决方案)。新增微博分词、新词发现与关键词提取;张华平博士先后倾力打造十余年,内

2016-11-22 23:14:59 555 2

threshold_handler.py

数据处理的功能,定义损失函数之后进行确认最优的阈值

2018-05-04

空空如也

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

TA关注的人

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