自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Netty编程——简单的http服务器

经常看到Tornado的监听端口,身为Javaista,tomcat对底层封装极其丧心病狂,计划开始手撸一个基于Netty的http服务器,并不断完善,顺便学习NIO和RPC第一个超级简单,hello world,本次编码使用kotlin实现,具体和Java没有太大区别,接下来从netty各个组件开始学习完善优化channel、eventloop和channelfuturenetty数据容器编解码...

2018-03-15 23:50:16 305

原创 数字图像处理之超像素图像分割

算法实现是我的毕设,在补充了一下基础知识后,今天开始进行算法的编码,参考网上相关文章,太多了,不列了相关基础知识主要如下:冈萨雷斯的数字图像处理中的图像分割周志华的机器学习中的聚类python相关:skimage、jupyter(IDE)[科学计算库不列了~]相关论文:谷歌上有,就是SLIC的,我已经打算毕设直接致敬人家~~实现思路:均匀播撒K个种子到图像的lab ndarray中(lab包含明度...

2018-03-13 23:34:04 3596

原创 Scrapy系列——安装创建手记

本人学习平台为win10,python3.61、在使用pip install scrapy安装scrapy时出现fail:Microsoft vistual C++ 14.0 is required,遇到此问题时,到wheel平台下载twist的wheel,安装后再使用pip install scrapy2、scrapy startproject project,此步未出问题3、使用pycharm...

2018-03-13 00:35:40 189

原创 Python科学计算库pandas——初步了解pandas

pandas包含三种对象,一维数组Series、二维数组DataFrame、三维panel,相关使用环境:jupyter、python3.5,本次相关了解,难度极低怎么说呢,怎么一个概述就这么多东西,告辞告辞,来日再续创建对象创建一个seriesIn [2]: import pandas as pdimport numpy as npIn [3]:  s = pd.Series([1,3,5,np...

2018-03-10 00:03:48 340

原创 Data Struts——chain

    数据结构中的链表是经常面试的东西,它有一定难度,但是代码量有比较小,可以说是最最常见的一类白板编程,链表(linkedlist)chain和数组不同,它依靠节点中指针来确定顺序,物理上并不连续    构造chain     去年做过Java linked list的源码分析,显然个人并不能做的更好,现在只能用python复现一下:    class chainNode(object): ...

2018-03-08 22:13:17 179

原创 python学习系列(一) ——— Hello World

    其实不是本人第一次学习python,只是在抛开语法用法之后的学习本次尚属第一次,所以相较而言更慎重一点,大概的思路如下:python总体架构python类型/对象系统解释器虚拟机内存分配和垃圾回收标准库相关科学计算相关爬虫相关    其中因为有编译原理的学习,3将简略带过,可能会单独做编译原理的学习系列,看心情;其次在GC上因为有go的runtime和Java的JVM的了解,也不做详细笔记...

2018-03-07 23:54:29 158

原创 Java LinkedList源码

Linkedlist的源码结构和其他没有太大区别,但细节上非常有学习的必要一、大体结构总体上还是围绕双向链表,以链表的操作:1、CURD为底拓展了一系列方法,从首尾增删的remove-unlinkf/l、add-link,中间删除的remove-unlink,查询的一系列2、边界检测用的方法:isPositionIndex等二、方法细节笔记方法之间低耦合,抽象出高内

2017-09-16 14:34:28 269

原创 从CAS和原子类看unsafe

J.U.C中的原子类实现大致相同,所以我们看AtomicInteger的实现来看一下CASAtomicInteger的实现其有一个私有,volatile变量private volatile int value;//实现可见性public final int incrementAndGet() {       for (;;) {           int cu

2017-08-14 22:25:50 250

原创 JAVA JVM虚拟机的内存优化

Jvm有一套自己的垃圾回收机制来回收内存,我们只需要处理他的内存泄漏问题,但是,内存毕竟是有限的资源,适当的注意减少GC次数、减少GC规模,提升内存的使用率,可以提升程序运行效率Java虚拟机的内存优化应从两方面入手:JVM和Java应用程序JVM:通过JVM参数来控制内存分区的大小、GC的次数、GC的算法、分代的大小Java程序:优化程序算法一、相关JVM参数

2017-08-13 09:04:02 471

原创 J.U.C下的并发容器的并发实现

ArrayBlockingQueue 基于数组的有界的阻塞队列,其实现线程同步的方式为ReentrantLock 和两个条件,存取用了一把锁,其在线程池中常  见,下面ti'chu

2017-08-09 11:15:45 267

原创 MySQL概览及sql语句的综述

MySQL是一个开源的关系型数据库,在学习mysql之前,有一些简单的概念需要了解一下,例如数据库、表、列和数据类型、行、主键、复合键和sql,可以自行搜索,不在赘述。SQL——Structured Query Language检索数据检索单列select column_name from table_name;检索多列select column1_name,col

2017-07-24 16:40:01 345

原创 Java Concurrent包下的并发容器

ConcurrentHashMap 我们知道HashMap不是一个线程安全的容器,最简单的方式使HashMap变成线程安全就是使用Collections.synchronizedMap,它是对HashMap的一个包装public static Map m=Collections.synchronizedMap(new HashMap());同理对于List,Set也提供了相似方法。

2017-07-23 11:17:22 305

原创 深入理解JVM——java内存区域与内存溢出异常

在java虚拟自动内存管理机制的帮助下,我们不再需要为每一个操作去写配套的delete/free代码,不容易出现内存泄漏问题,但是一旦出现,如果不了解虚拟机是什么使用内存的,那么排查错误将成为一件异常艰难的工作运行时数据区域(图片来自网络)后三个为线程隔离的程序计数器当前线程所执行的字节码的行号指示器,指明了执行到第几行代码,字节码解释器工作就是通过改变这个计数器的

2017-07-02 11:42:19 254

原创 Java Mina 基于NIO的通讯框架——编写服务器端

导入jar包导入Mina的相关jar包,了解的比较少,所以这里只用了核心的一个,mina-core和slf4j-apiMina的处理流程Mina框架就是对Java的NIO的封装,处理层次大约为IoService 、IoHandler、IoProcess,IoFilterIOservice层次实现了java nio的serversocketchennel服务器

2017-06-11 17:12:16 239

原创 Tomcat整体结构(一)——连接器和容器

tomcat的心脏是连接器和容器Connector连接器等待http请求,创建request和response对象,调用容器的invoke方法,将对象传给servlet容器,servlet容器加载servlet类,调用其service方法,管理session,处理错误信息工作流程主要创建服务器套接字监听端口,然后创建连接,转至处理线程,创建request和response对象,

2017-06-03 23:17:17 1224

原创 Tomcat学习(二)——servlet容器

概述servlet容器就是servlet的运行环境,当浏览器请求一个servlet时,servlet在容器中运行并返回结果志浏览器,从应用程序的角度看,对一个servlet的http请求,容器要装载servlet并执行init方法,创建servletrequest和servletresponse实例,执行servlce,最后调用destory,卸载类实现细节大致实现在上一文基础上,

2017-05-23 21:08:25 188

原创 Tomcat学习(一)——简单的web服务器

概述基于java的web服务器,主要用到两个类,socket和serversocket类,并通过http协议通信基础知识http请求的结构和响应的结构简单服务器的设计httpserver一个B/S的socket程序,获取stream来填充request和response对象request重点是解析原始数据,将流中数据转换为string,在得到url

2017-05-22 22:42:13 234

原创 JAVA中的GC机制详解 (一)

java内存运行时的程序计数器、虚拟机栈和本地方法区随线程而生,随线程而灭,这些区域的内存分配和回收都具有确定性,但在java堆和方法区中只有程序处于运行区时才知道创建哪些对象,这部分的内存分配和回收是动态的回收时间回收什么在java堆里几乎存放着所有的对象实例,gc在对堆进行回收时,需要判断对象是否存活,如何判断对象是否存活呢?可以通过一个计数器,当该对象被引用时,计

2017-05-21 13:45:49 230

原创 使用spring、springmvc和hibernate开发博客(二)——数据进出

一、entity、dao、service简述entity是orm框架中数据库属性类,dao则对上屏蔽具体数据库的异同,service层增加日志、事务、安全性的相关逻辑,我只实现了最基本的crud逻辑以文章类为例public class articleDao{ @Autowired private SessionFactory sessionFactory; p

2017-05-06 20:43:45 350

原创 使用spring、springmvc和hibernate开发博客(一)——搭建框架

刚使用框架,不甚熟悉,记录一下步骤,以后慢慢完善一、导入jar包antlr-2.7.7.jaraopalliance-1.0.jaraspectjweaver-1.6.9.jarc3p0-0.9.1.2.jarc3p0-0.9.1.jarcglib-nodep-2.2.jarcommons-beanutils-1.7.0.jarcommons-colle

2017-05-06 14:00:57 299

原创 java IO ——new I/O包

新IO系统基于两个最简单的项目:通道和缓存区。通道代表对一个IO源或目标的开放式连接,缓存区存放可操作的数据,NIO是异步非阻塞式调用io系统同步、异步、阻塞、非阻塞同步是一个连接一个线程,而异步是一个请求一个线程,阻塞是当读取不到数据时线程会等待,非阻塞是线程发出数据请求后转而向下执行,当数据加载好时通知线程NIO基础fileinputstream f = new

2017-05-02 19:50:40 303

原创 javaIO——基础

缓存与缓存的处理方式是javaI/O的基础,

2017-04-26 23:08:34 202

原创 怎么让用java做好看的charts

今天刷微博时刷出巨多黑店,顿时心想应该有一款小工具能够记录查找一下,免得日后还得翻微博找好久,但是,当我做了一个小字典后,深深陷入了对java GUI的不忍直视中。。。怎么才能让java GUI好看点呢?我尝试一下做了一下对Jfreecharts的封装,把我喜欢的样式封装进去,确实好看不少,原来是这样的:现在是这样的:日后不用在去写很多的样式代码,省力不少,以饼状图

2017-04-26 18:42:38 1678

原创 设计模式——策略模式

刚读的head first 设计模式,第一个就是策略模式,讲的有趣以书上案例为例,我们要设计一群鸭子,这群鸭子有不同的行为表现,可以呱呱叫或吱吱叫,可以飞或游泳,最初版本设计如下:但是这样的话,我们不能在父类加入fly的方法,因为那样会使不能fly的鸭子也继承fly的方法,并且有加入新的方法都会这么麻烦接下来我们想到接口实现:class du

2017-04-23 20:40:37 154

原创 关于粤语

其实,对一个听了几年粤语音乐的小生来说,他应该有很多关于粤语以及音乐的体会想要分享给大家,算是对于自己心爱之物的心爱方式我最初听粤语还是初三时黄家驹的光辉岁月,现在看确实很大众,不过喜好并不是小众,个性也不是非得标新立异,后来听张学友的刘德华的,毕竟对95后来说这几位算是靠的近的了,尤其是张学友,很独特的颤音,还有那种鼻腔共鸣出来的极其有渲染力和情感的声音秒杀现在的大多数小生,模仿一个

2017-04-23 13:19:12 511

原创 java集合框架(三)——映射

Map 一、HashMap1、实际上是一个“链表散列”,就是链表和数组的结合体,底层是一个数据结构(Entry[] table),数组每一项是一个链表transient Entry[] table; static class Entry implements Map.Entry { final K key; V v

2017-04-22 12:52:30 222

原创 java集合框架(二)——Collection(集合)类

学习完接口后,开始学习实现他们的标准类一、ArrayList类ArrayList类扩展AbstractList接口,并实现list接口,底层使用数组保存所有元素,分析源码:1、底层使用数组实现private transient Object[] elementData; 2、构造函数public ArrayList() {

2017-04-21 21:48:46 153

原创 设计模式——单例模式

Singleton Pattern有一些对象我们只需要一个,比如线程池,数据库连接池,注册表。。。当然,依靠程序员口头约定和全局变量也可以实现单例,但单例模式是更好的办法接下来,我们实现一个经典的单例模式public class Singleton{ public static Singleton single;//提供只能被实例化一次的全局变量 private Singleton(){} /

2017-04-20 17:01:14 237

原创 java集合框架(一)——框架结构及基础接口

java.util包是一个重要的包,包含许多类和接口,它还包括java的一个功能强大的子系统——集合框架,集合框架是一个复杂接口和类的层,提供了管理对象组的优化技术。使用集合框架的目的有几个,首先这种框架必须是高性能的,基础集合(动态数组、链表、树、哈希表)的实现是高效率的,其次,框架允许以不同类型的集合以相似的方式进行操作,并且有高度的互用性,再次,必须很容易扩展和改变一个集合。所以

2017-04-20 15:50:45 913 2

原创 java学习——string

对string类做一个简单的论述,string是java.lang包下的类,包含对字符串的处理     一、string类中的函数1、构造函数(1)  string str = "hello string";(2)  string str = new string("hello string");(3)  string str = new string(new char ch[

2017-04-20 12:54:48 310

空空如也

空空如也

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

TA关注的人

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