自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 个人总结

学习了2年Java EE企业级应用开发,大三暑假之期,决定把以前学过的东西整理复习一下,学习一下新的知识,巩固以前快忘了的知识,充分利用其自己的时间,为以后的找工作做准备。...

2018-07-08 13:33:23 357 2

原创 SQL 如何得到两个日期间的工作日(附假期表)

首先,我们有这样一张表我们要知道两个日期间的工作日天数,相信大家有遇到过这个恶心人的需求,所谓工作日,不简简单单的就是除周六日以外的日子。要考虑到节假日,国庆啊,中秋啊,最让人头疼的是,你根本无法掌控节假日的规律,因为他就是无规律可言。所以要求出工作日的天数,我们还需要一张假日表,这张表可以帮助我们分清到底那天是节假日,那天是工作日,在末尾我会附上网盘链接,这个表是怎么来的大家应该都清...

2018-12-27 10:47:26 8466 2

原创 Java 如何执行SSIS(dtsx)包

今天,主管让研究SSIS如何实现自动化。尤其是比较繁琐的文件导入数据,网上找了些资料,用VS2005,做了一个简单的资料导入功能。有了.dtsx文件代码如下:/** * Copyright (c) eBizprise, Inc All Rights Reserved. */package com.ebizprise.project.newhoemwork.common;imp...

2018-12-18 18:26:27 1745 1

原创 SQL 语句效率问题(如何写出高性能的SQL语句)

1.关于SQL查询效率,100w数据,查询只要1秒,与您分享:机器情况 p4: 2.4 内存: 1 G os: windows 2003 数据库: ms sql server 2000 目的: 查询性能测试,比较两种查询的性能SQL查询效率 step by step-- setp 1. -- 建表 create table t_userinfo ( userid int identit...

2018-10-17 22:50:51 2532 1

原创 设计模式之策略模式:鸭子模式

设计模式;一个程序员对设计模式的理解:“不懂”为什么要把很简单的东西搞得那么复杂。后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的“简单”就是一把钥匙开一把锁的模式,目的仅仅是着眼于解决现在的问题,而设计模式的“复杂”就在于它是要构造一个“万能钥匙”,目的是提出一种对所有锁的开锁方案。在真正理解设计模式之前我一直在编写“简单”的代码.这个“简单”不...

2018-10-11 23:47:55 2298

原创 Java多线程的应用

一般只要是产生的CPU资源浪费,就需要多线程来提升效率。我们举一个例子,例如一个网络爬虫项目,其中有两个环节1.数据抓取:假设平均每个网站的抓取大约需要50ms。2.数据处理(遍历数据):假设每个网站的数据处理需要这样的话如果使用单线程,平均处理每个网站的时间大约是52ms。其实这样已经产生的大量的资源浪费。在CPU进行数据抓取的50ms时,CPU的数据处理没办法进行,所以...

2018-10-09 20:29:24 747

原创 理解SQL Server中的事物和锁

了解事务和锁事务:保持逻辑数据一致性与可恢复性,必不可少的利器。锁:多用户访问同一数据库资源时,对访问的先后次序权限管理的一种机制,没有他事务或许将会一塌糊涂,不能保证数据的安全正确读写。死锁:是数据库性能的重量级杀手之一,而死锁却是不同事务之间抢占数据资源造成的。不懂的听上去,挺神奇的,懂的感觉我在扯淡,下面带你好好领略下他们的风采,嗅査下他们的狂骚。。先说事务--概念,分类...

2018-10-09 15:18:20 311

原创 理解SQL Server的子查询

当由where子句指定的搜索条件指向另一张表时,就需要使用子查询或嵌套查询。1 子查询子查询是一个嵌套在select、insert、update或delete语句或其他子查询中的查询。任何允许使用表达式的地方都可以使用子查询。1.1语法规则:子查询的select查询总使用圆括号括起来 不能包括compute或for browse子句 如果同时指定top子句,则可能只包括orde...

2018-10-09 15:11:32 4824

原创 数据库的索引解析

什么是索引  数据库索引好比是一本书前面的目录,能加快数据库的查询速度。例如这样一个查询:select * from table1 where id=44。如果没有索引,必须遍历整个表,直到ID等于44的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的索引),直接在索引里面找 44(也就是在ID这一列找),就可以得知这一行的位置,也就是找到了这一行。可见,索引是用来定位的。索...

2018-10-08 21:45:20 178

原创 数据库三大范式解析

第一范式(1NF)(必须有主键,列不可分)数据库表中的任何字段都是单一属性的,不可再分 create table aa(id int,NameAge varchar(100)) insert aa values(1,''无限-女 '') 没有达到第一范式 create table aa(id int,name varcahr(10),age char(2)) insert ...

2018-10-08 21:38:40 220

原创 Maven的聚合和继承

maven中的聚合和继承是2个不同的概念,虽然经常在一个父模块里同时完成这2个功能 。聚合的作用是把子项目的构建过程串到一起。一个项目往往由多个模块构成的,在进行构建时,针对每个模块都进行构建命令是一件非常繁琐又容易出错的事情,所以Maven的聚合功能能够替我们完成进行一次构建命令完成全部模块的构建。与聚合不同,继承的目的是为了在父模块中进行一些公共配置,以简化子模块的POM文件。Mave...

2018-10-06 17:03:59 265

原创 深入理解Maven的几个核心概念

本文以类图的方式,介绍maven核心的12个概念以及相互之间的关系。Table of Contents1 maven管理的目标:工程(Project) 1.1 工程依赖关系 1.2 工程聚合关系 2 maven的核心:生命周期和阶段 3 功能实现:插件和Goal 4 仓库(Repository) 5 小结1 maven管理的目标:工程(Project) m...

2018-10-06 16:59:36 2100

原创 观察者模式简单样例

测试公交车的打卡机样例:CardMachine import java.util.ArrayList;import java.util.Date;import java.util.List;public class CardMachine { private List<EventPunchCardListener> listener = new ArrayList&...

2018-10-06 16:52:25 453

原创 什么是观察者模式?

观察者模式当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。介绍意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。何时使用...

2018-10-06 16:41:37 2516

原创 深入理解单例模式(附简单案例)

单例模式在程序设计中非常的常见,一般来说,某些类,我们希望在程序运行期间有且只有一个实例,原因可能是该类的创建需要消耗系统过多的资源、花费很多的时间,或者业务上客观就要求了只能有一个实例。一个场景就是:我们的应用程序有一些配置文件,我们希望只在系统启动的时候读取这些配置文件,并将这些配置保存在内存中,以后在程序中使用这些配置文件信息的时候不必再重新读取。定义:  由于某种需要,要保证一个类...

2018-10-05 20:50:39 7795 4

原创 Java设计模式:单例模式详解(饿,懒汉式单例)

在Java开发过程中,很多场景下都会碰到或要用到单例模式,在设计模式里也是经常作为指导学习的热门模式之一,相信每位开发同事都用到过。我们总是沿着前辈的足迹去做设定好的思路,往往没去探究为何这么做,所以这篇文章对单例模式做了详解。一、单例模式定义:单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象...

2018-10-05 20:40:16 607

原创 什么是单例模式?单例模式有什么作用?为什么要用单例模式

单例模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意:1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一...

2018-10-05 17:58:19 50630 12

原创 什么是工厂模式?工厂模式的作用?为什么要使用工厂模式?

工厂模式工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。介绍意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决:主要解...

2018-10-05 17:48:29 16836 5

原创 Java工厂模式的简单样例

1.抽象的产品类:定义car  交通工具类下:package factory.simple;/** * 抽象产品角色 交通工具接口 * * @author lilin * */public interface Car { /** * 上班函数 */ void gotowork();}2.定义实际的产品类,总共定义两个,bike...

2018-10-05 17:36:13 1535

原创 Java的几种工厂模式的区别,特点,缺点和使用范围

工厂模式有以下几种形态:    简单工厂(Simple Factory)模式    工厂方法(Factory Method)模式,又称多形性工厂(Polymorphic Factory)模式    抽象工厂(Abstract Factory)模式,又称工具箱(Kit或Toolkit)模式 在简单工厂模式中,一个工厂类处于对产品类实例化调用的中心位置上,它决定那一个产品类应当被实例化, 如同...

2018-10-05 17:21:59 1701

原创 Java多线程-----线程池的使用,原理以及举例实现(三)(四):使用样例及如何配置线程池大小

三.使用示例  前面我们讨论了关于线程池的实现原理,这一节我们来看一下它的具体使用:public class Test { public static void main(String[] args) { ThreadPoolExecutor executor = new ThreadPoolExecutor(5, 10, 200, TimeUnit.M...

2018-10-05 16:33:08 210

原创 Java多线程简单样例(三):购票窗口实现票数同步

import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock; public class ThreadTicket { public static void main(String[] args) { Booking b1 = new Booking...

2018-10-05 16:30:34 1098

原创 Java多线程简单样例(二):使用lock锁的生产者消费者问题

import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * 生产者消费者模式 * @author fliay * */public class TestProdu...

2018-10-05 16:23:58 228

原创 Java多线程简单样例(一):银行存取钱问题

Bank类 public class Bank { private static int money; public int getMoney(){ return money; } public void saveMoney(int m){ synchronized (this) { System.o...

2018-10-05 16:20:29 6823 1

原创 Java多线程-----线程池的使用,原理以及举例实现(二):深入剖析线程池实现原理

 在上一节我们从宏观上介绍了ThreadPoolExecutor,下面我们来深入解析一下线程池的具体实现原理,将从下面几个方面讲解:  1.线程池状态  2.任务的执行  3.线程池中的线程初始化  4.任务缓存队列及排队策略  5.任务拒绝策略  6.线程池的关闭  7.线程池容量的动态调整 1.线程池状态  在ThreadPoolExecutor中定义了...

2018-10-04 22:16:25 178

原创 Java多线程-----线程池的使用,原理以及举例实现(一):Java中的ThreadPoolExecutor类

在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:  如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。  那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?  在Java中可以通过线程池来达到这样的...

2018-10-04 21:59:18 192

原创 Java多线程---阻塞队列详解(举例说明)

一. 前言  在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。二. 认识BlockingQueue  阻塞队列,顾名思义,首先它是一个队列,而一个...

2018-10-04 21:40:56 513

原创 Java多线程----线程的同步,锁和死锁,问题以及解决方法(例子说明)

一、线程并发同步概念线程同步其核心就在于一个“同”。所谓“同”就是协同、协助、配合,“同步”就是协同步调昨,也就是按照预定的先后顺序进行运行,即“你先,我等, 你做完,我再做”。线程同步,就是当线程发出一个功能调用时,在没有得到结果之前,该调用就不会返回,其他线程也不能调用该方法。就一般而言,我们在说同步、异步的时候,特指那些需要其他组件来配合或者需要一定时间来完成的任务。在多线程编程...

2018-10-04 21:37:14 3454 1

原创 java多线程的未捕获异常处理机制

 一:为什么要单独讲多线程的异常捕捉呢?先看个例子:public class ThreadException implements Runnable{ @Override public void run() { throw new RuntimeException(); } //现象:控制台打印出异常信息,并运行一段时间后才停止 public static v...

2018-10-04 20:02:35 2442

原创 Java多线程之守护线程

守护线程在没有用户线程可服务时自动离开,在Java中比较特殊的线程是被称为守护(Daemon)线程的低级别线程。这个线程具有最低的优先级,用于为系统中的其它对象和线程提供服务。将一个用户线程设置为守护线程的方式是在线程对象创建之前调用线程对象的setDaemon方法。典型的守护线程例子是JVM中的系统资源自动回收线程,我们所熟悉的Java垃圾回收线程就是一个典型的守护线程,当我们的程序中不再有任何...

2018-10-04 19:54:01 149

原创 Java线程的优先级

Java线程可以有优先级的设定,高优先级的线程比低优先级的线程有更高的几率得到执行(不完全正确,请参考下面的“线程优先级的问题“)。记住当线程的优先级没有指定时,所有线程都携带普通优先级。 优先级可以用从1到10的范围指定。10表示最高优先级,1表示最低优先级,5是普通优先级。 记住优先级最高的线程在执行时被给予优先。但是不能保证线程在启动时就进入运行状态。 与在线程池中等待运行机会的线...

2018-10-04 19:22:52 706

原创 线程的六种状态及其状态的转换

1.线程自身信息线程运行的过程会产生很多信息,这些信息都保存在Thread类中的成员变量里面,常见的有:线程的ID是唯一标识getId() 线程的名称:getName(),如果不设置线程名称默认为“Thread-xx” 线程的优先级:getPriority,线程优先级从1-10,其中数字越大表示优先级别越高,同时获得JVM调度执行的可能性越大,JDK内置了三种常见的状态://...

2018-10-04 18:15:26 21790 4

原创 Java多线程----线程的中断

一、什么是线程切换,线程阻塞,线程中断?线程切换:我们知道,CPU是以时间片进行线程调度的,一个线程在占有一个分配的时间片之后,CPU就会根据相应的策略进行线程的重新调度,这个过程会很大程度上参考线程的优先级,当然调度策略也会考虑到各个线程的等待时间等。也就是说,若是当前线程的优先级足够高的话,那么就有可能在下一次的CPU调度中再次获得一个时间片。若是当前线程未能再次获得时间片,那么它就要插入...

2018-10-04 16:11:13 208

原创 Java线程简介(什么是线程)

一、线程概述线程是程序运行的基本执行单元。当操作系统(不包括单线程的操作系统,如微软早期的DOS)在执行一个程序时,会在系统中建立一个进程,而在这个进程中,必须至少建立一个线程(这个线程被称为主线程)来作为这个程序运行的入口点。因此,在操作系统中运行的任何程序都至少有一个主线程。进程和线程是现代操作系统中两个必不可少的运行模型。在操作系统中可以有多个进程,这些进程包括系统进程(由操作系统内...

2018-10-04 15:58:06 6678

原创 Mysql存储过程:现有1张数据表3,是每个店铺的每个商品按月汇总的销量数据。现在需要将其转化为表4的格式(即将表3的每行数据拆分成5行)

现有1张数据表3,是每个店铺的每个商品按月汇总的销量数据。现在需要将其转化为表4的格式(即将表3的每行数据拆分成5行) 数据表3             原始数据     ...

2018-10-03 22:21:54 932 1

原创 MySQL存储过程实现,如何将数据拆分为7条

现有一张数据表1,是某商品每个店铺每周的销量数据(用周日的日期代表其所在的周)。现在需要将此数据表转化为如表2的格式,即将每周的销量拆解为该周每天的平均销量数据(日平均销量=周销量/7).      数据表1         数据表2   ...

2018-10-03 22:19:45 709

原创 如何动态SQL语句生成游标(cursor)

通过(准备语句+视图+静态游标)实现-- 建立测试表和数据create table webuser (username varchar(10));insert into webuser values ('a1'),('a2'),('a3'),('b1'),('b2'),('b3');commit;-- 建立存储过程drop procedure if exists dy...

2018-10-03 22:15:47 2159

原创 MySQL 利用Navicat声明一个简单的存储过程

首先,打开Navicat,右击函数,新建函数。在这里选择参数,in表示入参,out表示出参,inout表示入参也出参。然后确定。在里面写上你的业务,然后保存,保存时会提醒是否有错误。然后运行此函数,输入参数,即可运行。...

2018-10-03 22:08:15 825

原创 mysql存储函数 参数 varchar 报错问题

Mysql  Navicat  中声明存储函数如果报如下错误,应该是你传入的varchar参数没有声明长度所导致的。加上长度即可。  这样就解决了错误 

2018-10-03 21:49:48 4514

原创 MySQL存储函数基本语法

存储过程如同一门程序设计语言,同样包含了数据类型、流程控制、输入和输出和它自己的函数库。--------------------基本语法--------------------一.创建存储过程create procedure sp_name()begin.........end二.调用存储过程1.基本语法:call sp_name()注意:存储过程名称后面必须加括号,哪怕...

2018-10-03 21:43:12 1075

空空如也

空空如也

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

TA关注的人

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