java 基础之--传统网络编程
摘要:什么是socket ? 下面的基于Java 传统的tcp/ip 的代码编写,实现了服务器与客户端的通信 服务端代码: 客户端代码:
阅读全文
posted @
2018-09-30 22:42
iscys
阅读(170)
推荐(0)
java 基础之--类加载器的过程
摘要:先来段代码,大家瞧瞧运行pritln的结果是什么?(认真想一想哦😯) 开篇: 1.java virtual machine 与程序的生命周期 2.关于类的加载,连接与初始化 类加载器详解 .java program 对类的主动使用方式,会导致类的初始化,其他方式都不会进行类的初始化。 /** *
阅读全文
posted @
2018-09-29 00:07
iscys
阅读(139)
推荐(0)
java 线程Thread 技术--1.5 Future与Callable
摘要:Callable: 从官方文档说起: 通过实现callable 的called 方法可以使一个任务可以返回一个结果以及可能抛出一个异常; callable 与runnable 是相似的,可以被其他线程潜在的执行,但是runnable不会返回结果总是viod 以及不会抛出检测异常; 一般我们是这么定义
阅读全文
posted @
2018-09-28 23:18
iscys
阅读(175)
推荐(0)
java 线程Thread 技术--1.5 Executor Executors,ThreadPool,Queue
摘要:Executors : Executor : 线程池 ThreadPool: 是我们维护线程数量的一个池子,创建的目的是为了节省系统资源,避免频繁创建线程与销毁线程带来的系统开销;接下来进行实例型的线程例子: 1. Executors.newFixedThreadPool(nthread); 创建一
阅读全文
posted @
2018-09-28 23:17
iscys
阅读(230)
推荐(0)
java 线程Thread 技术--1.5Lock 与condition 演示生产者与消费模式
摘要:在jdk 1.5 后,Java 引入了lock 锁来替代synchronized ,在使用中,lock锁的使用更加灵活,提供了灵活的 api ,不像传统的synchronized ,一旦进入synchronized中,方法是无法打断的,也就是说有时候会陷入漫长的等待当中;以及进行公平锁的创建(syn
阅读全文
posted @
2018-09-28 23:16
iscys
阅读(150)
推荐(0)
XML 解析技术
摘要:xml 解析方式有两种: dom 解析和 sax 解析; 针对着两种解析方式,有三种解析器: dom 解析XML : jaxp 解析xml jaxp 解析器在 jdk的 javax.xml.parsers 包中; 针对dom 解析提供的类 : 获取上下文Document 对象: 查找元素:(与js
阅读全文
posted @
2018-09-28 20:00
iscys
阅读(191)
推荐(0)
java 线程Thread 技术--方法演示生产与消费模式
摘要:利用wait 与notifyAll 方法进行演示生产与消费的模式的演示,我们两个线程负责生产,两个线程消费,只有生产了才能消费: 在effective Java 中有说过: 1. 在Java 中 ,使用wait() 方法,你99% 情况都是要和while 连用 2. 永远都要使用notifyAll(
阅读全文
posted @
2018-09-28 19:39
iscys
阅读(197)
推荐(0)
java 线程Thread 技术--线程方法详解
摘要:Thread 类常用的方法与Object类提供的线程操作方法:(一个对象只有一把锁🔒) 一. Wait : 通过源码解读,可以总结出wait() 方法的特点: 二. notify /** * Wakes up a single thread that is waiting on this obje
阅读全文
posted @
2018-09-26 23:29
iscys
阅读(291)
推荐(1)
java 线程Thread 技术--线程状态与同步问题
摘要:线程技术第三篇: 线程的状态: 1. 创建状态: 当用new 操作符创建一个新的线程对象时,该线程就处于创建状态,系统不为它分配资源 2.可运行状态:当线程调用start 方法将为线程分配必须的系统资源,安排其运行,并调用线程体中的run方法,这样线程就处于可运行状态 3.不可运行状态:当调用了sl
阅读全文
posted @
2018-09-26 01:03
iscys
阅读(172)
推荐(0)
java 线程Thread 技术--创建线程的方式
摘要:在第一节中,对线程的创建我们通过看文档,得知线程的创建有两种方式进行实现,我们进行第一种方式的创建,通过继承Thread 类 ,并且重写它的run 方法,就可以进行线程的创建,所有的程序执行都放在了run 方法里;可以说run 方法里放入的是线程执行的程序;在执行线程的时候,需要调用线程的start
阅读全文
posted @
2018-09-25 23:37
iscys
阅读(189)
推荐(0)
java 线程Thread 技术--线程创建源码解释
摘要:永远不要忘记最基础的东西,只有把最基础的知识打牢靠,才能够使你走的更远,我将从今天开始,进行线程知识的回顾,一些常用知识点,以及java1.5 引入的并发库,进行详细的讲解与总结 创建线程的目的是为了开启一条执行路径,去运行指定的代码; java 对线程的创建java.lang包下,我们先看关于Th
阅读全文
posted @
2018-09-24 23:51
iscys
阅读(198)
推荐(0)
JDK1.5 Excutor 与ThreadFactory
摘要:Excutor 源码解读:/** * An object that executes submitted {@link Runnable} tasks. This * interface provides a way of decoupling task submission from the * mechanics of how each task will be run, includ...
阅读全文
posted @
2018-09-23 21:20
iscys
阅读(279)
推荐(0)
Netty
摘要:netty 服务启动流程 NioServerSocketChannel 初始化过程: 1.创建 Java NIO的 ServerSocketChannel; 2.为ServerSocketChannel 注册感兴趣的键以及设置为非阻塞模式; 3.创建默认的 pipeline 以及unsafe 对象;
阅读全文
posted @
2018-09-23 21:19
iscys
阅读(310)
推荐(0)
基于java NIO 的服务端与客户端代码
摘要:在对java NIO selector 与 Buffer Channel 有一定的了解之后,我们进行编写java nio 实现的 客户端与服务端例子: 服务端: 客户端例子:
阅读全文
posted @
2018-09-22 14:08
iscys
阅读(378)
推荐(0)
java 编解码
摘要:decoder:解码--> 将文件内容转换为字符对象; encoder:编码-->将字符对象转换为字节或者字节数组; ASCII (American Standard for Information Tnterchange ) 使用7 bit 表示一个字符,共计表示128字符 ISO-8859-1
阅读全文
posted @
2018-09-22 11:05
iscys
阅读(162)
推荐(0)
java NIO --selector
摘要:传统的IO 编程中,针对每一个客户端连接都会创建一个新的线程; 而 NIO 一个线程可以处理很多客户端的请求 我们分析源码的注解,可以归纳出: 1. Selector 构造方式:(常见的Seletor 构造方式) 源码: * <p> A selector may be created by invo
阅读全文
posted @
2018-09-19 00:45
iscys
阅读(214)
推荐(0)
java NIO buffer --directBuffer (2)
摘要:HeapBuffer 堆缓冲 :其实是在java 的内存模型中,java 虚拟机可以直接管控的 DirectBuffer 直接缓冲 :使用的是native ,与操作系统挂钩,调用的是c 或者c++ 的代码,不在java 的内存模型中,我们称为堆外内存,因为不属于java 内存模型,所以java 虚拟
阅读全文
posted @
2018-09-17 23:17
iscys
阅读(211)
推荐(0)
java NIO Buffer 详解(1)
摘要:1.java.io 最为核心的概念是流(stream),面向流的编程,要么输入流要么输出流,二者不可兼具; 2.java.nio 中拥有3个核心概念: Selector Channel, Buffer ,在java nio 中我们面向的是块(block)或是缓冲区(buffer) 编程 ;Buffe
阅读全文
posted @
2018-09-16 23:54
iscys
阅读(250)
推荐(0)
netty 之 传统的阻塞io 体系回顾
摘要:io 体系回顾: 流的概念: java 程序 通过流来进行完成输入与输出的。流是生产或者消费信息的抽象,流通过java 的 输入/输出系统与物理设备相连,尽管与他们链接的物理设备不尽相同,所有流的行为具有相同的方式.这样,相同的输入输出类和方法适用于所有类型的外部设备,这意味着一个输入流能够抽象多种
阅读全文
posted @
2018-09-16 16:42
iscys
阅读(199)
推荐(0)
Netty---入门程序,搭建Websocket 服务器
摘要:Netty 常用的场景: 1.充当HTTP 服务器,但Netty 并没有遵循servlet 的标准,反而实现了自己的一套标准进行Http 服务; 2,RPC 远程调用,在分布式系统中常用的框架 3.Socket 长连接 需要了解的名词 1.NioEventLoopGroup: 对线程的控制,线程组,
阅读全文
posted @
2018-09-11 23:55
iscys
阅读(588)
推荐(0)
网络通讯
摘要:文章来自于:https://www.cnblogs.com/onepixel/p/7092302.html http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.html 1.网络通讯协议: TCP/IP:以其两个
阅读全文
posted @
2018-09-10 22:20
iscys
阅读(591)
推荐(0)
搭建zookeeper集群
摘要:zk 采用投票选举机制,配置集群的个数以奇数个数进行配置,以达到zookeeper 高可用状态 1.解压zookeeper 并复制三份 2.为每一个zk创建data 目录 ,并且data目录下设置myid 的文件,myid 文件中填写自己定义的编号,集群中唯一的整数zhid 创建目录展示如图 myi
阅读全文
posted @
2018-09-09 19:48
iscys
阅读(181)
推荐(0)
Redis 与Spring-data-redis 整合后封装的工具类
摘要:此工具类方法是使用了redis 与spring 整合后,才可以使用的工具类,将 spring-data-redis 一些我们开发中常用的方法进行了封装,方便我们日常开发中进行调用:
阅读全文
posted @
2018-09-09 14:11
iscys
阅读(529)
推荐(0)
redis集群 与spring-data-redis 集成
摘要:所遇到的坑:必须使用如下的jedis 版本与spring-data-redis 版本,才能够达到集群效果 。1.7版本以前是不支持集群的 ***********集群配置********** **********单机版配置******* 在java 代码中引入即可
阅读全文
posted @
2018-09-09 10:14
iscys
阅读(2299)
推荐(0)
java 编程英语单词,语句
摘要:记录一下java 编程工作学习中常用的英语汇总 in other words: 换句话说 dangle :悬挂 separated:分开的 distinct:明显的,独特的 actual :实际的 inject:注射,注入 persistent :持久的 determine :决定,下决心,确定 w
阅读全文
posted @
2018-09-08 22:33
iscys
阅读(725)
推荐(0)
Spring <context:annotation-config> 和 <context:component-scan> 区别
摘要:一篇很不错的文章,看到就是赚到Get.... https://www.cnblogs.com/leiOOlei/p/3713989.html 说白了 :<context:component-scan> 包含了 <context:annotation-config> 的作用; <context:ann
阅读全文
posted @
2018-09-08 22:22
iscys
阅读(203)
推荐(0)
Redis 非关系性数据库集群的搭建与常用方法
摘要:redis 非关系型数据库,内存型数据库,现在大家都不陌生了,无论大中小型企业,都会将redis应用到自己的项目中,以此来减轻数据库的压力 安装步骤: 1.安装gcc 2.解压缩并且编译 wget http://download.redis.io/releases/redis-3.2.6.tar.g
阅读全文
posted @
2018-09-08 16:06
iscys
阅读(391)
推荐(0)
单例模式创建的几种方式
摘要:单例设计模式是我们开发中常用的设计模式,改设计模式可以减少系统的开销,在系统设置全局访问点,共享系统资源,向我们的Spring bean 管理就是单例模式的体现 而且在日常开发中,也会需要使用到单例模式 常用的单例模式有: 1.饿汉式: > 一旦类初始化就会创建该对象,安全性高,线程是安全的 2.懒
阅读全文
posted @
2018-09-08 11:29
iscys
阅读(348)
推荐(0)
Httpclient 表单,json,multipart/form-data 提交 ---总结常用的方法
摘要:最近在项目中,一直在使用HttpClient 中的方法,这里我进行一些方法的汇总,也是结合了一些大牛写的代码,以备不时之需 官话:HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持
阅读全文
posted @
2018-09-05 22:34
iscys
阅读(16407)
推荐(0)
使用HttpClient 传送form 表单的请求
摘要:在项目中用到了,需要使用HttpClient 进行模拟表单传送form 表单的需求,在平常的项目中,大概都是传送json串的样式需求,但是如何才能给对应的服务器传送一个form 表单呢? 这就需要了NameValuePair 的传参方式,就可以进行form表单数据的传输,我在这里记录下 1.需要先定
阅读全文
posted @
2018-09-04 22:25
iscys
阅读(655)
推荐(0)
java正则表达式(regular)
摘要:哎呀妈呀,脑瓜疼 正则表达式 正则是用来处理复杂文本类型的 标准字符集合: 自定义字符集合(***) 量词使用:修饰匹配次数的特殊符号 字符边界:是位置,不是字符 手机号码匹配 邮箱匹配 常用的正则匹配 java 使用正则: 使用到 java.util包下的 Pattern 创建正则表达式 以及Ma
阅读全文
posted @
2018-09-02 22:19
iscys
阅读(284)
推荐(0)
java 爬虫
摘要:由于项目需求,综合了几种考虑方案,准备使用java 爬虫进行数据的获取,不用自己去费劲的想逻辑的实现 使用java爬虫之前,我们必须要掌握的知识: 1. 对前端HTML的元素有一定的认识 2. 使用httpclient 3. jsoup 工具进行HTML的解析判断 4. 能够使用一款网络抓包工具 抓
阅读全文
posted @
2018-09-02 11:52
iscys
阅读(561)
推荐(0)