自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Hello SpringBoot

0. 前言我先得说说,为啥要研究这个。流行技术太菜,不想被甩了既然这个是Hello World 所以目的也非常的简单,就是跑起来就好了,原理再说。0.1 需要准备什么?[ ] JAVA(没Java你说你整个啥) 下载、安装JDK及配置环境变量 [ ] Maven(这个咱就不说了)1. 安装IDEA选择一个趁手的IDE非常重要了,一开始,可能大家用的都...

2018-08-01 00:06:11 231

原创 更改CM113-Z光猫成桥接模式

0.前言先说一下,为什么要写这篇文章。因为,我最近办了一个移动的宽带,然后整了一个CM113-Z的光猫,一般我们认知中的调制解调器,俗称“猫”,就是整一条网线接出来,我们使用路由器或者是电脑直接拨号上网。然而!!!CM113-Z这货,把拨号的事儿自己干了,我就很不爽,我就不让他干。我就想让他安安分分的做自己该做的事,路由器做拨号的事儿。整了半天,发现很难实现啊,我得现有一个超级管理员账...

2018-05-25 23:05:46 65571 16

原创 NIO——从小白到有概念

前言其实作为我个人,NIO,我前面也自己学过一些,但是吧,总觉得没有个概念,也就是说这个知识吧,他不是我的东西,我没法用自己的话去描述,只是简单的说,哦,NIO=New IO,和IO的区别就是不阻塞。然后好像有个选择器,和银行大堂经理一样的,引导人流,没了。我争取通过我的学习,向大家描述一个概念,建立起一个概念,NIO到底是个啥。NIO基本概念要说NIO的基本概念,和IO的对比是绕不过去的,因为与自

2017-09-25 09:23:08 318

原创 谈谈线程池的使用

前言首先,肯定要先说说,为什么要用那个线程池?其实无论在计算机领域里面还是在人类社会里面,为了达到某个操作,创建另一资源以及销毁是消耗很大的。我好像又不说人话了……文字概念解释总是比较难懂的……故事看懂了吧?本灵魂画师说的就是这个故事,没有公司会这么做,因为一个员工是一个很重要的资源,不好招的。就像一个线程不好创建的,所以最好是平时搞个池子(公司/线程池)把它们装起来,要用的时候随时能用。这就是线程

2017-09-21 23:36:50 349

原创 浅谈读写锁WriteReadLock

前言 在多线程开发中,经常会出现一种情况,我们希望读写分离。就是对于读取这个动作来说,可以同时有多个线程同时去读取这个资源,但是对于写这个动作来说,只能同时有一个线程来操作,而且同时,当有一个写线程在操作这个资源的时候,其他的读线程是不能来操作这个资源的,这样就极大的发挥了多线程的特点,能很好的将多线程的能力发挥出来。简单来说,可以多个线程同时读资源,但是写这种修改资源的操作只有一个线程能做。

2017-09-21 23:01:46 726 1

原创 ReentrenLock的用法

前言这篇文章,主要是说用法,其实这个使用还是很多的,根据一段生产消费者程序,来说一说。一个栗子package com.pochi.juc;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.ReentrantLock;public class ReentrenLockProblem {

2017-09-21 15:40:07 1757

原创 浅谈Callable接口

前言犹记当年面试的时候,被问过一个问题,“实现多线程的方式有几种呀?”“两种”“哪两种?”“实现Runnable接口和继承Thread类”“是的,还有没有其他方式呢?”“记得还有一个什么接口,具体怎么用的忘记了”“Callable”这就来说说Callable吧。这个接口为什么会出现场景一我们先回想一下,我们实现Runnable接口创建多线程的时候,怎么做的吧?/* 打印从1到100的数*/

2017-09-20 15:54:59 561 1

原创 ConcurrentHashMap源码分析

前言ConcurrentHashMap是concurrent包里面出镜率很高的一个类,这个类是线程安全的Map,原来jdk1.8以前的ConcurrentHashMap采用的是锁分段机制来保证线程安全。如果关注这个锁分段技术的,可以参考这篇博文:http://blog.csdn.net/yansong_8686/article/details/50664351至于我,可能就不详细说锁分段机制了,这篇

2017-09-20 11:17:53 216

原创 Java中的Atomic类

前言每个东西的出现,肯定不是无缘无故的、Atomic类的出现是为了解决一些常见类型变量的原子操作问题而提出的。来来来,程序语言问题在哪里package com.pochi.juc;public class AtomicProblem { public static void main(String[] args) { AtomicExample atomicExample =

2017-09-19 20:29:42 703

原创 Volatile关键字

前言Volatile是一个关键字,也是一种同步的策略,它的出现是为了解决一个叫做内存可见性问题的,那首先就要来看一下,什么叫做内存可见性问题内存可见性问题我们先看一下一段代码package com.pochi.juc;public class VisibilityProblem { public static void main(String[] args) { Thread

2017-09-19 11:04:49 281

原创 双向阻塞队列BlockingDeque

前言前面我总结了一下关于BlockingQueue和BlockingQueue实现类的相关知识点,现在接下来看concurrent包的另一个接口BlockingDeque,BlockingDeque 接口表示一个线程安放入和提取实例的双端队列。就是说两段都可以进出的,实际上和单端的也差不多,就是单端变双端。 抛异常 特定值 阻塞 超时 插入 addFirst(o) offe

2017-09-18 15:32:43 736

原创 数组阻塞队列 ArrayBlockingQueue

前言ArrayBlockingQueue这个是数组阻塞队列,是BlockingQueue接口的一个实现类,它是一个容量有限的队列,一旦队列大小确认了就不能再改变了,使用方法,下面介绍。使用import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;public class Main

2017-09-16 17:00:37 257

原创 阻塞队列 BlockingQueue

BlockingQueue原理这个BlockingQueue是个接口,BlockingQueue 通常用于一个线程生产对象,而另外一个线程消费这些对象的场景。下图是对这个原理的阐述:用于生产者消费者模型,那就是多个线程可以操作生产,多个线程可以操作消费,如果生产过快大于队列的长度的话,会不让它生产了,让它阻塞。消费过快,也是同样的道理。BlockingQueue的方法但是由于应用的方法不同,你也可以

2017-09-16 16:45:55 161

原创 其他BlockingQueue实现类

前言其实,我本来也是想把所有的BlockingQueue接口的实现类都整一整,但是确实太多了,而且其实并不常用吧。所以就搞一篇写的清楚的实现,然后,要用再来看吧。DelayedQueueDelayedQueue是什么?DelayQueue是一个无界的BlockingQueue,用于放置实现了Delayed接口的对象,其中的对象只能在其到期时才能从队列中取走。这种队列是有序的,即队头对象的延迟到期时间

2017-09-15 21:50:42 240

原创 【小demo】——直播平台自动发言

1. 背景直播平台火热的现在,好多人已经开始直播致富了,但是很多直播新人因为人气等相关原因,就很难在直播平台爆火,有的人想到了买号,刷人气之类的,现在这款小demo就是配套的组件。2. 前期准备jar包3. 代码pps_ tv _viewpackage com.pochi.selenium;import java.awt.EventQueue;import javax.swing.JFrame;i

2016-10-25 15:43:27 4813

原创 Selenium2测试工具入门——自动登录百度搜索

1. 背景好久没再更新文章了,今天要给大家介绍的,应该很多人都已经使用过了,就是用Selenium2的自动化测试工具已经网页测试。这个工具功能还是很强大的,但是因为我想做的事情还是比较基础的,因此就在这里做一个demo,抛砖引玉。2. 前期工作要用这个工具肯定要导相关jar包,现在Selenium的版本最高是3.0,但是呢因为我在做3.0的时候老出问题,因此,就换了比较低的版本做这个demo。2.1

2016-10-25 10:01:36 2412 1

原创 Struts2学习——1800Struts控制标签

控制标签——if else if其实这个if else的标签,就是控制某些语句输出,某些语句不输出,在jsp中也有相应的标签。struts.xml<?xml version="1.0" encoding="UTF-8" ?><struts> <constant name="struts.devMode" value="true" /> <package name="tags" exte

2016-10-09 14:33:17 229

原创 Struts2学习——1700Struts通用标签

背景我们可以把Struts标签分为,通用标签,控制标签,UI标签等,以下几个小节就主要来讲Struts常用的一些标签,这些标签并不是全部的标签,只是一些比较常用的标签。通用标签 ——property本文是以结果导向分析的方式进行的。其实property标签,我们前面已经常用了。如果value=”xxx”的xxx部分没有特意指定,那么就默认是OGNL表达式,如果要输出的是字符串的吧,可以在xxx两边打

2016-10-09 14:14:16 284

原创 Contiki学习——HelloWorld

背景要研究的课题内容正好需要Contiki中的cooja仿真器进行仿真,但是实际上,关于Contiki这个平台的manual确实没有找到,这导致了很多研究者的实验困难,面对这一情况,我个人也只能摸着石头过河,将每次探索的新发现与大家进行交流。HelloWorld这个小demo,在Contiki的官网是有放出来的,我对这个Get Start这个部分进行重现,并用中文写一下相应的步骤。1. 下载所需要的

2016-10-08 22:41:24 2676 4

原创 Struts2学习——1600OGNL4投影&取出值栈中多个action

OGNL4投影&取出值栈中多个action1. 投影其实名字叫做投影,并不是特别的难,实际上就是一个过滤的功能,就是说,把符合某些判断条件的选择出来。以《1500》的代码为基础,在ognl.jsp中添加投影语句<li>过滤users集合中user.age==1的集合中第一个:<s:property value="users.{?#this.age==1}[0]"/></li><li>过滤users

2016-10-08 15:22:49 422

原创 Struts2学习——1500OGNL3访问集合

OGNL3访问集合1.分析除了访问方法和属性之外,还有一些比较常用的应用就是访问集合了,为了做这个实验,我们在原有的OgnlAction上又做了一些小小的改动。OgnlActionpackage com.bjsxt.struts2.ognl;import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;

2016-10-08 15:07:34 234

原创 Struts2学习——1400OGNL2访问方法与属性

OGNL2访问方法与属性在上一小节中,我们访问了值栈中action的属性,值栈中对象的属性。在本小节中将访问值栈中action的属性与方法,值栈中对象的属性与方法,还有静态属性与方法。1.访问普通属性值及方法为了更好的做实验,重新定义了两个class,Cat和Dog,代码如下所示。Catpackage com.bjsxt.struts2.ognl;public clas

2016-10-08 15:00:08 222

原创 Struts2学习——1300OGNL入门

背景OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言,通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。这样可以更好的取得数据。OGNL入门1. 分析与结果本文是以结果导向分析的方式进行的。首先先看index.jsp的页面及代码<?xml

2016-10-08 14:46:16 238

原创 Struts2学习——1200带参数的结果集

背景本小节的内容并没有什么特殊的应用背景,而是一些技术细节。带参数的结果集1. 分析index.jsp<?xml version="1.0" encoding="GB18030" ?><%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%><% String cont

2016-10-07 12:47:30 200

原创 Struts2学习——1100GlobalResult

背景GlobalResult要实现的情况是不同的action之间都能使用一个公共result的问题。在现实项目中不仅于此。例如,实际的用户登录系统,有很多个模块,但是这样模块其实可能是有公共的result的,如果发生错误是的error.jsp。在servlet中,我们一般都是每遇到一次错误就写一句错误跳转。这样会使得代码有些冗余,这个GlobalResult就可以解决这个问题。除了GlobalRes

2016-10-07 10:20:22 215

原创 Struts2学习——1000Result Type类型入门

背景不仅action是有相关的类型,result也有相关的类型。 type属性可以取的值有:chain、dispatcher、freemarker、httpheader、redirect、redirectAction、stream、velocity、xslt、plainText。但是常用的主要有四种:dispatcher、redirect、chain、redirectActoin。本小节主要介绍的就

2016-10-06 18:40:34 258

原创 Struts2学习——0900DefaultAction 默认Action

背景DefaultAction也是有其应用背景的,中文名称为默认action,从名称来看,我们也可以比较好的理解,默认的意思就是如果没有其他操作,就选择规定的一个。所有默认action的意思就是,如果输入的URL和其他的action都不匹配的话,就选择这个默认action。在现实的应用就是,可能在一个网站上,乱输URL,肯定找不到对应的网页,那么就跳转到你指定的一个网页,比如说,主页。Default

2016-10-06 14:59:06 268

原创 Struts2学习——0800 Included file cannot be found问题

前言其实本小节的内容,并不是如题目所说的这样,而是主要介绍了Struts2中的include模块知识点。但是由于这个知识点的内容技术强并不强,所以把实验中遇到的问题,作为本小节的标题。背景Include模块并没有什么技术上的难点。但是在实际的应用中,却有很重要的作用。在实际的开发过程中,肯定不可能是一个人负责整个项目的开发,肯定是每个人开发一个模块。然后在合在一起,用到的就是这个include模块的

2016-10-06 14:15:50 839

原创 Struts2学习——0700访问Web元素

背景在Servelt学习的过程中,我们知道,有些情况是要使用web元素的,所谓的web元素就是request、response、session、application。例如,我们在用户登录的应用中,到底怎么确定用户登录了呢,就是往session域中加入一个user。session.setAttribute(“user”,user)。而在struts中肯定也要有一个方式能拿到session,否则,不就

2016-10-06 10:46:46 251

原创 Struts2学习——0600简单数据校验

背景在我们的实际应用中,数据校验是一个非常常见的东西。例如,在用户注册系统中,肯定是要先表单校验的,然后一般来说,校验失败的东西,放在表单后面。Struts2实际上可以利用Action中的方法,把错误的东西先addErrorField里,然后在jsp中利用struts2的标签再拿出来。简单数据校验其实正常工程中的数据校验要更难,但是,都是从简单的一点点过渡来的。这次把文档的顺序改一下,我们先看看效果

2016-10-05 22:14:19 407

原创 Struts2学习——0500不同方式接收参数

背景在平常的开发中,接收参数是一个很常见的需求,例如用户登录,肯定要把用户名和密码传输过去的。这个时候,我们用什么方法接收呢,这个文档有三个部分。就是用Action、DomainModel、ModelDriven三种方式接收参数。用Action接收参数第一种用Action方式接收参数是最简单的一种。看一看代码就都明白了1. 分析struts.xml<?xml version="1.0" encodi

2016-10-05 20:32:21 423

原创 Struts2学习——0400ActionWildCard通配符配置

背景我们在前面用了DMI,动态的进行了方法的引用,得到了一个效果,只需要配置一个action,多个result就可以了,不用针对一个类的不同方法,配置不同的action。但是,这样我们是觉得烦,能不能action只有一个,result也只有一个呢?这就是我们通配符配置的前提或者说是背景。两个特点: - 用通配符配置,能把代码变得最简洁 - 要遵循“约定优于配置”原则所谓的“约定优于配置”的意思是

2016-10-05 15:46:45 318

原创 Struts2学习——0300DMI动态方法调用

背景现在有一个Action,它的action_name=user,背景是从现实小项目中抽象出来。现在有一个用户管理系统,而用户管理,肯定不仅仅是添加用户,还有的比如用户登录,后台删除用户等等需求,使得user的操作不仅仅是一个add(),肯定还有delete(),update()等等。所以如果按照我们前面的做法,肯定是弄很多个action,每个action一个execute方法,一个result。这

2016-10-05 15:03:09 253

原创 Struts2学习——0200struts.xml初步解释

背景昨天,第一次接触Struts2,就依葫芦画瓢,根据Struts2提供的example,写出了一个最简单的HelloStruts Demo。但是对于其实比较重要的struts.xml文件内容,其实却是一问三不知。今天将这个文件中的内容,做一个简单的总结和解释。为后面的学习先夯实一下基础。NameSpace命名空间1. 分析根据以下struts.xml文件进行分析<?xml version="1.0

2016-10-05 12:09:35 249

原创 怎么使MyEclipse生成的JSP都默认UTF-8编码

问题描述如此,我以前的开发的时候,总是会在Myeclipse生成的头一行里面改一下Encoding,这样其实蛮麻烦的,因为一个工程的jsp少则几个,多则几十个,每个都要改,确实挺浪费时间的。今天发现一个设置,可以很好的解决这个问题,过程步骤也很简单。步骤1. window–>Preferences看到如下图的窗口弹出2. 在左侧文本框键入JSP可以看到如下图改变3. 选择JSP选项,在Encodin

2016-10-04 18:20:48 297

原创 Struts2学习——0100HelloStruts

Struts2背景Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差

2016-10-04 14:38:27 221

原创 Source Insight——C/C++代码阅读器

今天因为要看一个相关课题的C源码,而我又不专门学C所以就没有关于C的IDE。我本来用笔记本阅读器来看,是在太辛苦了。后来看到了一篇博客,推荐了Source Insight软件,软件小,还能自动定位到其他头文件中的变量,和IDE也差不多了。特别对于我这种只需要用来看看源码的人来说,真实是福音。

2016-10-02 18:27:42 3378

Selenium2.44.0所需jar包集合

这些是Selenium2测试所需的jar,有了这些jar包,基本上测试开发是没问题的。 但是注意,这里所需的用到的浏览器是Firefox,如果想要用chrome或者ie的,需要自行再找其他浏览器的支持jar包

2016-10-25

空空如也

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

TA关注的人

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