自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(124)
  • 资源 (2)
  • 收藏
  • 关注

原创 修改jenkins默认端口

jenkins默认端口8080,8080端口是常用端口,为了防止和其他软件冲突,需要修改一下1. 修改/etc/init.d/jenkins脚本,修改do_start函数的check_tcp_port命令,将端口8080改为80812. 修改/etc/default/jenkins文件,将端口改为80813.重启jenkinsservice jenkins

2017-06-12 21:25:54 3525

原创 解决首次访问jenkins,输入默认密码之后,一直在引导界面

我使用的jenkins.war,部署在tomcat服务器中,首次访问输入密码后一直卡在插件安装前的引导界面解决办法:赋予jenkins项目777权限chmod -R 777 jenkins

2017-06-12 19:47:31 5248

转载 使用docker构建jenkins镜像并运行容器

DockerHub上有docker官方jenkins镜像: https://registry.hub.docker.com/_/jenkins/        同时github上有其源码: https://github.com/jenkinsci/docker        官方jenkins镜像中所使用的jenkins是Jenkins的LTS(Long Term Support)发布版本

2017-06-11 18:13:31 922

转载 Java中byte转换int时与0xff进行与运算的原因

1.问题由来剖析该问题前请看如下代码 public static String bytes2HexString(byte[] b) { String ret = ""; for (int i = 0; i < b.length; i++) { String hex = Integer.toHexString(b[i] & 0xFF);

2017-06-10 18:24:43 279

原创 Android基础之Android项目目录结构

项目整体目录介绍1. .gradle和.idea是Android Studio自动生成的文件,无需过问2. app是android项目模块,代码和资源等都在里面3. build文件夹中是自动构建项目生成的文件,无需过问4. gradle文件夹中放置了gradle wrapper的配置文件,用于gradle构建配置5. .gitignore是版本管理工具中忽略不上传的文件

2017-06-10 15:16:30 345

原创 Android基础之Android四大组件

Android系统四大组件分别是Activity、Service、Content Provider和Broadcast Receiver。1. Activity        一个Activity通常就是一个屏幕2. Service       在后台运行,完成应用指定逻辑操作,为应用提供服务3.  Broadcast Receiver       对发送出来的Broadc

2017-06-10 14:26:06 185

原创 Android基础之Android系统架构

Android系统主要分为四层,从上到下分别为应用程序层、应用程序框架层、系统运行层和linux内核层,如图所示。1.  应用层      手机上安装的应用程序属于这一层2.  应用框架层      提供开发应用层应用可能使用的api3. 系统运行库      1)程序库      程序库包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过A

2017-06-10 14:15:30 239

转载 Android Studio之删除模块和删除项目

当你想在Android Studio中删除某个module时,大家习惯性的做法都是选中要删除的module,右键去找delete。但是在android Studio中你选中module,右键会发现没有delete,如图:       为什么会没有delete按钮,不科学啊,难道是Android Studio的bug或者设计组考虑不周。其实这边没有delete按钮主要原因是因为A

2017-06-10 10:36:30 36086 4

转载 DES/3DES/AES 三种对称加密算法在 Java 中的实现

有两句话是这么说的:1)算法和数据结构就是编程的一个重要部分,你若失掉了算法和数据结构,你就把一切都失掉了。2)编程就是算法和数据结构,算法和数据结构是编程的灵魂。注意,这可不是我说的,是无数程序员总结的,话说的很实在也很精辟,若想长久可持续发展,多研究算法还是很有必要的,今天我给大家说说加密算法中的对称加密算法,并且这里将教会大家对称加密算法的编程使用。包含DES、3DES和

2017-06-09 22:26:37 2400

转载 Java 多线程并发编程之互斥锁 Reentrant Lock

Java 中的锁通常分为两种:通过关键字 synchronized 获取的锁,我们称为同步锁,上一篇有介绍到:Java 多线程并发编程 Synchronized 关键字。java.util.concurrent(JUC)包里的锁,如通过继承接口 Lock 而实现的 ReentrantLock(互斥锁),继承 ReadWriteLock 实现的 ReentrantReadWriteLoc

2017-06-09 21:23:46 855

转载 Java 多线程并发编程之 Synchronized 关键字

synchronized 关键字解析同步锁依赖于对象,每个对象都有一个同步锁。现有一成员变量 Test,当线程 A 调用 Test 的 synchronized 方法,线程 A 获得 Test 的同步锁,同时,线程 B 也去调用 Test 的 synchronized 方法,此时线程 B 无法获得 Test 的同步锁,必须等待线程 A 释放 Test 的同步锁才能获得从而执行对应方

2017-06-09 21:13:18 203

转载 Java 多线程之内置锁与显示锁

Java中具有通过Synchronized实现的内置锁,和ReentrantLock实现的显示锁,这两种锁各有各的好处,算是互有补充,今天就来做一个总结。Synchronized内置锁获得锁和释放锁是隐式的,进入synchronized修饰的代码就获得锁,走出相应的代码就释放锁。synchronized(list){ //获得锁 list.append(); l

2017-06-09 20:24:23 213

转载 Java 类加载机制详解

什么是 Java 类加载机制?Java 虚拟机一般使用 Java 类的流程为:首先将开发者编写的 Java 源代码(.java文件)编译成 Java 字节码(.class文件),然后类加载器会读取这个 .class 文件,并转换成 java.lang.Class 的实例。有了该 Class 实例后,Java 虚拟机可以利用 newInstance 之类的方法创建其真正对象了。Cla

2017-06-09 19:51:55 190

转载 Java 元编程及其应用

首先,我们且不说元编程是什么,他能做什么.我们先来谈谈生产力.同样是实现一个投票系统,一个是python程序员,基于django-framework,用了半小时就搭建了一个完整系统,另外一个是标准的SSM(Spring-SpringMVC-Mybatis)Java程序员,用了半天,才把环境刚刚搭好.可以说,社区内,成功的web框架中基本没有不强依赖元编程技术的,框架做的工作越多,应

2017-06-09 16:44:52 577

转载 Java 并发集合的实现原理

本文简要介绍Java并发编程方面常用的类和集合,并介绍下其实现原理。AtomicInteger可以用原子方式更新int值。类 AtomicBoolean、AtomicInteger、AtomicLong 和 AtomicReference 的实例各自提供对相应类型单个变量的访问和更新。基本的原理都是使用CAS操作:boolean compareAndSet(expectedVa

2017-06-09 16:18:14 234

转载 我是一个线程

转载 码农翻身微信公众号  2016-04-02 老刘 《我是一个线程(修订版)》第一回 初生牛犊我是一个线程,我一出生就被编了个号:0x3704,然后被领到一个昏暗的屋子里,在这里我发现了很多和我一模一样的同伴。我身边的同伴0x6900 待的时间比较长,他带着沧桑的口气对我说:“我们线程的宿命就是处理包裹。把包裹处理完以后还得马上回到这里,否则可能永远回不来了

2017-06-09 10:40:26 183

转载 Spring本质系列(2)-AOP

转载 码农翻身微信公众号 2016-06-25 刘欣 《spring 的本质系列(1) -- 依赖注入》       据说有些词汇非常热门和神奇, 如果你经常把它挂在嘴边,就能让自己功力大涨, 可以轻松找到理想的高薪的工作,这些词就包括上一篇文章(《Spring本质系列(1) --依赖注入》)中聊过的IoC 和 DI, 也包括今天要聊的AOP。       AOP(Aspe

2017-06-09 10:19:18 593

转载 Spring 的本质系列(1) -- 依赖注入

1. 对象的创建       面向对象的编程语言是用类(Class)来对现实世界进行抽象, 在运行时这些类会生成对象(Object)。        当然,单独的一个或几个对象根本没办法完成复杂的业务, 实际的系统是由千千万万个对象组成的, 这些对象需要互相协作才能干活,例如对象A调用对象B的方法,那必然会提出一个问题:对象A怎么才能获得对象B的引用呢?       最简单的办法无非是

2017-06-09 08:51:20 1151

转载 获取项目中Classpath中的资源路径

classpath 是什么        classpath实际上就是编译后的 以 classes 文件夹为起点的路径各种path获取到的路径的区别        1. Main.class.getResource("");        -> 得到的是当前class所在的路径        2. Main.class.getResourceAsStream("");

2017-06-08 21:06:31 546

转载 Java 线程池(ThreadPoolExecutor)原理分析与使用

在我们的开发中“池”的概念并不罕见,有数据库连接池、线程池、对象池、常量池等等。下面我们主要针对线程池来一步一步揭开线程池的面纱。使用线程池的好处1、降低资源消耗可以重复利用已创建的线程降低线程创建和销毁造成的消耗。2、提高响应速度当任务到达时,任务可以不需要等到线程创建就能立即执行。3、提高线程的可管理性线程是稀缺资源,如果无限制地

2017-06-07 20:15:09 366 1

转载 Spring 学习笔记

Spring致力于提供一种方法管理你的业务对象。在大量Java EE的应用中,随处可见Spring。今天我将简单的介绍一下Spring这个框架。本文适合读者:想学Spring的Java开发者刚用Spring不久的人Why为什么要使用Spring?Spring主要两个有功能为我们的业务对象管理提供了非常便捷的方法:DI(Dependency Inj

2017-06-07 19:33:35 584

转载 Java 线程 Executor 框架详解与使用

在HotSpot VM的线程模型中,Java线程被一对一映射为本地操作系统线程。Java线程启动时会创建一个本地操作系统线程;当该Java线程终止时,这个操作系统线程也会被回收,在JVM中我们可以通过-Xss设置每个线程的大小。操作系统会调度所有线程并将它们分配给可用的CPU。       在上层,java多线程程序通常把应用分解为若干个任务,然后使用用户级的调度器(Executor框架)将这

2017-06-07 15:30:12 277

转载 Java数组使用总结

1. 概念      同一种类型数据的集合。其实数组就是一个容器。2. 初始化      Java 数组初始化的两种方法:          静态初始化: 程序员在初始化数组时为数组每个元素赋值;      动态初始化: 数组初始化时,程序员只指定数组的长度,由系统为每个元素赋初值。//静态初始化数组:方法一 String cats[] = new String

2017-06-07 10:20:22 316

转载 java泛型中通配符的使用

通配符有三种:       1、无限定通配符   形式       2、上边界限定通配符 形式    //用Number举例       3、下边界限定通配符    形式    //用Number举例1、泛型中的?通配符       如果定义一个方法,该方法用于打印出任意参数化类型的集合中的所有数据,如果这样写import java.util.Array

2017-06-06 21:19:44 510

转载 java泛型中类型擦除以及类型擦除带来的问题

一、Java泛型的实现方法:类型擦除       Java中的泛型基本上都是在编译器这个层次来实现的。在生成的Java字节码中是不包含泛型中的类型信息的。使用泛型的时候加上的类型参数,会在编译器在编译的时候去掉。这个过程就称为类型擦除。       如在代码中定义的List和List等类型,在编译后都会编程List。JVM看到的只是List,而由泛型附加的类型信息对JVM来

2017-06-06 21:13:12 426

转载 Java泛型总结

一. 泛型概念的提出首先,我们看下下面这段简短的代码:public class GenericTest { public static void main(String[] args) { List list = new ArrayList(); list.add("qqyumidi"); list.add("corn");

2017-06-06 19:07:34 199

转载 经典的java自定义数据库连接池代码

import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.Driver; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import j

2017-06-05 20:02:18 4161

转载 SpringMVC面试总结

1. 简单的谈一下SpringMVC的工作流程流程       1. 用户发送请求至前端控制器DispatcherServlet       2. DispatcherServlet收到请求调用HandlerMapping处理器映射器。       3. 处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。

2017-06-03 16:24:27 3709

转载 jsp,struts1,struts2,springMvc开发性能对比

看了几篇关于三者的性能比较的文章:(这些文章和测试我并没有做过实验,仅用于参考)性能对比       注:测试都没有数据库,也没有复杂业务,action和jsp中内容很简单,目的就是测试MVC部分的性能。              1. 纯JSP的性能应该最高,这不难理解,JSP被编译成Servlet后,没有任何多余的功能,收到请求后直接处理。(这也验证一句经典的话:越原始效率就越高。

2017-06-03 15:16:04 418

转载 典型数据库架构设计与实践 | 架构师之路

本文,将介绍数据库架构设计中的一些基本概念,常见问题以及对应解决方案,为了便于读者理解,将以“用户中心”数据库为例,讲解数据库架构设计的常见玩法。

2017-06-03 12:35:17 224

转载 commons-beanutils使用介绍

commons-beanutils是Apache开源组织提供的用于操作JAVA BEAN的工具包。使用commons-beanutils,我们可以很方便的对Bean对象的属性进行操作。今天为大家介绍一下该包的常用方法。

2017-06-03 08:46:16 463

转载 JDBC中Statement,PreparedStatement和CallableStatement的比较

区别1. Statement、PreparedStatement和CallableStatement都是接口(interface)。 2. Statement继承自Wrapper、PreparedStatement继承自Statement、CallableStatement继承自PreparedStatement。 3. Statement 每次执行sql语句,数据库都要执行s

2017-06-02 22:07:11 442

转载 jdbc基本使用

1. jdbc工具类,提供数据库连接和释放import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import

2017-06-02 21:44:02 164

转载 jdbc介绍

1. 什么是JDBC          Java语言访问数据库的一种规范,是一套API         JDBC (Java Database Connectivity) API,即Java数据库编程接口,是一组标准的Java语言中的接口和类,使用这些接口和类,Java客户端程序可以访问各种不同类型的数据库。比如建立数据库连接、执行SQL语句进行数据的存取操作。         JDB

2017-06-02 21:20:12 298

转载 Java类型强制转换

在Java中,之所以需要强制类型转换是为了防止程序员在不知情的情况下把A类型数据错当成B类型的数据。将一种类型的值赋给另一个类型的变量是很常见的,如果这两种是兼容的,那么Java将执行自动转换,例如int和long,将int类型赋值给long类型的变量,总是可行的。但不是所有的类型都兼容。例如,没有将double类型转换为byte型的定义。但是不兼容的类型之间的转换仍然是可能的。达到这个目的,就需

2017-06-02 20:32:02 318

转载 Java中的RTTI

并不是所有的Class都能在编译时明确,因此在某些情况下需要在运行时再发现和确定类型信息(比如:基于构建编程,),这就是RTTI(Runtime Type Information,运行时类型信息)。        运行时类型识别(RTTI, Run-Time Type Identification)是Java中非常有用的机制,在Java运行时,RTTI维护类的相关信息。        多态

2017-06-02 11:02:45 765

转载 Java程序员的10道XML面试题

问题1:XML是什么答:XML即可扩展标记语言(Extensible Markup language),你可以根据自己的需要扩展XML。XML中可以轻松定义, 等自定义标签,而在HTML等其他标记语言中必须使用预定义的标签,比如,而不能使用用户定义的标签。使用DTD和XML Schema标准化XML结构。XML主要用于从一个系统到另一系统的数据传输,比如企业级应用的客户端与服务端。问题

2017-06-02 08:21:53 301

转载 java字符串分解 StringTokenizer用法

Java中substring方法可以分解字符串,返回的是原字符串的一个子字符串。如果要讲一个字符串分解为一个一个的单词或者标记,StringTokenizer可以帮你。        先看个例子:public static void main(String[] args) { StringTokenizer st = new StringTokenizer("www.ooobj.

2017-06-01 21:49:28 473

转载 java中常用的正则表达式

java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。它包括两个类:Pattern和Matcher。Pattern 是一个正则表达式经编译后的表现模式Matcher是一个状态机器,它依据Pattern对象做为匹配模式对字符串展开匹配检查。 首先一个Pattern实例订制了一个所用语法与PERL的类似的正则表达式经编译后的模式,然后一个Matcher实例在这个给

2017-06-01 21:07:10 195

转载 Java的格式化输出

在javaSE5中,推出了C语言中printf()风格的格式化输出。这不仅使得控制输出的代码更加简单,同时也给与Java开发者对于输出格式与排列更大的控制能力。1. System.out.format()       Java Se5引入的format方法可用于PrintStream或PrintWriter对象,其中也包括System.out对象。public static voi

2017-06-01 16:55:38 1557

sqlserver 2008安装图解

安装图解详细,一看就懂。相信你会有很好的收获

2014-07-09

C-Free5带有注册码

强大的c编写工具,带有注册码,编写比vs6.0++更加方便

2014-07-09

空空如也

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

TA关注的人

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