自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

毕富国的博客

互联网大军中的一员

  • 博客(222)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java 之 23 种设计模式解析

Java 之 23 种设计模式解析目录:(点击进入相应页面)概述、六大原则一、创建模式0、简单工厂模式1.工厂方法模式(Factory Method)2、抽象工厂模式3、单例模式(Singleton)4、建造者模式(Builder)5、原型模式(Prototype)二、结构模式(7种)6、适配器模式7、装饰模式(Decorator)8、代理模式(...

2018-08-09 18:54:04 218

原创 2018最新Web前端经典面试试题及答案 JavaScript面试题

javascript: JavaScript中如何检测一个变量是一个String类型?请写出函数实现typeof(obj) === "string"typeof obj === "string"obj.constructor === String请用js去除字符串空格?方法一:使用replace正则匹配的方法去除所有空格: str = str.replace(/\s*/g...

2018-08-04 21:49:11 39401 5

转载 231个web前端常用的javascript特效分享

1.文本框焦点问题onBlur:当失去输入焦点后产生该事件onFocus:当输入获得焦点后,产生该文件Onchange:当文字值改变时,产生该事件Onselect:当文字加亮后,产生该文件<input type=”text” value=”郭强”onfocus=”if(value==’郭强’) {value=”}”onblur=”if (value==”) {valu...

2018-08-03 09:03:55 3507 2

原创 将字符串转化为整数(不使用库函数)

题目描述输入一个由数字组成的字符串,把它转换成整数并输出。例如:输入字符串”123”,输出整数123。给定函数原型int StrToInt(String str) ,实现字符串转换成整数的功能,不能使用库函数 Integer.parseInt(str);分析与解法本题考查的实际上就是字符串转换成整数的问题,或者说是要你自行实现atoi函数。那如何实现把表示整数的字符串正确地转换成整...

2018-07-27 16:52:08 15174 3

原创 Unicode汉字编码表

Unicode汉字编码表1 Unicode编码表   Unicode目前普遍采用的是UCS-2,它用两个字节来编码一个字符,  比如汉字"经"的编码是0x7ECF,注意字符编码一般用十六进制来 表示,为了与十进制区分,十六进制以0x开头,0x7ECF转换成十进制 就是32463,UCS-2用两个字节来编码字符,两个字节就是16位二进制,  2的16次方等于65536,所以UCS-2最多能编码6...

2018-07-27 15:11:44 34119

原创 【面试】交换两个数的三种方式

交换两个数的三种方式方法一:提供一个临时变量。 temp=m; m=n; n=temp;方法二:先将两个数加在一起 m=m+n; n=m-n; m=m-n; 当m和n较大时,有可能出现精度失准方法三:采用异或算法 m=m^n; ...

2018-07-22 18:28:29 319

原创 Java基本语法

关键字:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)保留字:byValue、cast、future、 generic、 inner、 operator、 outer、 rest、 var 、 goto 、const 标识符:凡是自己可以起名字的地方都叫标识符命名的规则:(一定要遵守,不遵守就会报编译的错误)由26个英文字母大小写,0-9 ,_或 $ 组成 ...

2018-07-21 12:37:13 477 2

原创 Java语言概述

1.软件 : 系统软件  vs  应用软件2.人与计算机做交互:使用计算机语言。        图形化界面  vs  命令行方式               常用的DOS命令:dir :    列出当前目录下的文件以及文件夹md :   创建目录rd :     删除目录cd :    进入指定目录               cd.. 退回到上一级目录cd\:    退回到根目录d...

2018-07-20 18:24:57 356

原创 ArrayList源码

属性静态属性private static final int DEFAULT_CAPACITY = 10; //默认初始容量private static final Object[] EMPTY_ELEMENTDATA = {}; //空数组,指定初始容量是0时返回private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {}; //默认数组private static final int MAX_ARR

2022-05-17 09:23:41 209

原创 JAVA虚拟机发展

一、java发展史1995年5月23日,Oak语言改名为Java,并且在SunWorld大会上正式发布Java 1.0版本。Java语言第 一次提出了“Write Once,Run Anywhere”的口号。1996年1月23日,JDK 1.0发布,Java语言有了第一个正式版本的运行环境。JDK 1.0提供了一个纯 解释执行的Java虚拟机实现(Sun Classic VM)。JDK 1.0版本的代表技术包括:Java虚拟机、Applet、 AWT等。1996年4月,十个最主要的操作系统和计算

2021-08-19 10:22:07 571

原创 常用注解

@PostConstruct和static静态块初始化的区别@PostConstruct注解好多人以为是Spring提供的。其实是Java自己的注解。static blocksare invoked when the class is being initialized, after it is loaded. The dependencies of yourcomponenthaven't been initialized yet. That is why you get aNullPoi...

2020-10-19 13:41:17 259

原创 JAVA、JS、Mysql数据库获取当月第一天和最后一天

JAVA//获取前月的第一天 Calendar cal_1=Calendar.getInstance();//获取当前日期 cal_1.add(Calendar.MONTH, -1); cal_1.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天 firstDay = format.format(cal_1.getTime()); System.out.println...

2020-10-19 13:34:25 562

原创 接收kafka消息

kafka: server: 127.0.0.1:8081,127.0.0.1:8082,127.0.0.1:8083,127.0.0.1:8084 topics: ESEAL-HR-TEST-2gourp: id: HTHR@Value("${kafka.server}")String servers;@Value("${group.id:HR}")String groupId;@Value("${enable.auto.commit:true}")Boolean a..

2020-09-23 15:50:23 1233 2

原创 SimpleDateFormat日期转化错误? 一个字段变更前多条记录变更后也是多条,怎么用sql拼到一起?

SimpleDateFormat日期转化错误?把2017年12月31日转化为2018-12-31SimpleDateFormat f = new SimpleDateFormat("YYYY-MM-dd");f.format(date);把2017年12月31日转化为2018-12-31正确写法应该是:SimpleDateFormat f = new SimpleDateFo...

2019-09-19 15:49:44 400

原创 选redis还是memcache,源码怎么说?

memcache和redis是互联网分层架构中,最常用的KV缓存。不少同学在选型的时候会纠结,到底是选择memcache还是redis。画外音:不鼓励粗暴的实践,例如“memcache提供的功能是redis提供的功能的子集,不用想太多,选redis准没错”。虽然redis比memcache更晚出来,且功能确实也更丰富,但对于一个技术人,了解“所以然”恐怕比“选择谁”更重要一些。...

2019-08-20 11:21:58 182

原创 缓存,你真的用对了么?缓存误用

缓存,是互联网分层架构中,非常重要的一个部分,通常用它来降低数据库压力,提升系统整体性能,缩短访问时间。有架构师说“缓存是万金油,哪里有问题,加个缓存,就能优化”,缓存的滥用,可能会导致一些错误用法。缓存,你真的用对了么?误用一:把缓存作为服务与服务之间传递数据的媒介如上图: 服务1和服务2约定好key和value,通过缓存传递数据 服务1将数...

2019-08-20 11:21:02 267

转载 使用sourceTree回滚git代码到历史节点

前记回滚git代码好几次了,但是每次总是忘记回滚的步骤,每次都要再想一下,试一下。今天又回滚代码了,索性就记录一下。问题将当前代码回滚到某次历史提交。本文示例:从master 回滚到 “回滚“ 历史节点。操作在需要回滚的分支“右键“选择“将master重置到这次提交“,选择重置(强行合并)到需要回滚的历史节点。如图将master 回滚到 “回滚“ 历史节点。再次重置(...

2019-08-20 10:26:05 434

转载 【面向对象】——JAVA中(PO,VO,TO,BO,DAO,POJO)分别是指什么

PO(bean,entity等命名):persistant object持久对象数据库表中的记录在java对象中的显示状态最形象的理解就是一个PO就是数据库中的一条记录。好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。BO(service,manager,business等命名):business object业务对象主要作用是把业务逻辑封装为一个对象。这个对...

2019-08-20 10:19:34 748

原创 SQL:explain命令详解——通过执行计划可以知道什么?

SQL:explain命令详解通过执行计划可以知道什么?MySQL执行计划调用方式1.EXPLAIN SELECT ……变体:2.EXPLAIN EXTENDED SELECT ……将执行计划"反编译"成SELECT语句,运行SHOW WARNINGS可得到被MySQL优化器优化后的查询语句3.EXPLAIN PARTITIONS SELECT ……用于分区表的EXPLAIN...

2019-07-18 20:37:31 536

原创 BeanUtils.copyProperties()的用法和注意点,属性为null也会被复制,内部类不会复制过去

BeanUtils提供对Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度。BeanUtils是这个包里比较常用的一个工具类,这里只介绍它的copyProperties()方法。该方法源码如下:pu...

2019-07-09 11:12:38 23549 2

原创 定时任务——Cron表达式详解

Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:Seconds Minutes Hours DayofMonth Month DayofWeek Year或Seconds Minutes Hours DayofMonth Month DayofWeek每一个域可出现的字符如下:Seconds:可出现", - ...

2019-06-27 21:56:36 2886

转载 java对小数四舍五入、DecimalFormat对数值格式化的舍入问题——RoundingMode

背景:在对数值做一些计算的时候,往往我们需要控制计算结果的精度,所以会使用到DecimalFormat类来将数值格式化成字符串。在最近测试中,突然注意到默认使用DecimalFormat进行格式化时,并非我们一般认识上的四舍五入,而是一种诡异的舍入——(1)5以下舍去(2)5以上舍入(3)若前一位是奇数,5就舍入(4)如前一位是偶数,5就舍去遇到这样的统计结论,没有理论的支持,我们总是感到很...

2019-06-12 10:57:02 1654

原创 Spring 深入浅出IOC

深入浅出IOC要了解控制反转( Inversion of Control ), 我觉得有必要先了解软件设计的一个重要思想:依赖倒置原则(Dependency Inversion Principle )。什么是依赖倒置原则假设我们设计一辆汽车:先设计轮子,然后根据轮子大小设计底盘,接着根据底盘设计车身,最后根据车身设计好整个汽车。这里就出现了一个“依赖”关系:汽车依赖车身,车身依赖底盘,...

2019-05-27 19:35:33 193

原创 Spring 二、Spring核心技术

二、Spring核心技术1. IOC(控制反转)1.1 什么是IOCIoC(Inversion of Control),意为控制反转,不是什么技术,而是一种设计思想。Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好Ioc呢?理解好Ioc的关键是要明确“谁控制谁,控制什么,为何是反转(有反转就应该有正转了),哪些方面反转了”,那我们来深入分析一...

2019-05-27 19:33:21 331

原创 Spring 一、基础概念

一、基础概念1. JavaBeanJavaBean是一种组件技术,就好像你做了一个扳子,而这个扳子会在很多地方被拿去用,这个扳子也提供多种功能(你可以拿这个扳子扳、锤、撬等等),而这个扳子就是一个组件。 JavaBean是一个遵循特定写法的Java类,它通常具有如下特点:这个Java类必须具有一个无参的构造函数 属性必须私有化。 私有化的属性必须通过public类型的方法暴露给...

2019-05-27 19:30:38 204

原创 线程面试

编写多线程程序一般有三种方法,Thread,Runnable,Callable1、Runnable和Callable的区别:(1)Callable规定的方法是call(),Runnable规定的方法是run().(2)Callable的任务执行后可返回值,而Runnable的任务是不能返回值得(3)call方法可以抛出异常,run方法不可以(4)运行Callable任务可以拿到一...

2018-10-20 12:59:34 190

原创 synchronized和lock的区别;悲观锁和乐观锁的区别

synchronized和lock的区别: 1.用法不一样。synchronized既可以加在方法上,也可以加载特定的代码块上,括号中表示需要锁的对象。而Lock需要显示地指定起始位置和终止位置。synchronzied是托管给jvm执行的,Lock锁定是通过代码实现的。 2.在性能上来说,如果竞争资源不激烈,两者的性能是差不多的,而当竞争资源非常激烈时(即有大量线程同时竞争),此时Lock...

2018-10-20 10:35:22 8941

原创 java中创建对象的5种方式

java中创建对象的5种方式作为Java开发者,我们每天创建很多对象,但我们通常使用依赖管理系统,比如Spring去创建对象。然而这里有很多创建对象的方法,我们会在这篇文章中学到。Java中有5种创建对象的方式,下面给出它们的例子还有它们的字节码使用new关键字 } → 调用了构造函数 使用Class类的newInstance方法 } → 调用了构造函数 使用Con...

2018-10-18 23:49:05 281

原创 二 mybatis配置详解

二 mybatis配置详解    MyBatis最关键的组成部分是SqlSessionFactory,我们可以从中获取SqlSession, 并执行映射的SQL语句。SqlSessionFactory对象可以通过基于XML的配置信息或者JavaAPI创建。        2.1 使用xml配置Mybatis        构建SqlSessionFactory最常见的方式是基于XML配置...

2018-10-11 19:28:47 180

原创 一 mybatis入门

一 mybatis入门    1.1 mybatis是什么        MyBatis是一个简化和实现了 Java 数据持久化层(persistence layer)                的开源框架,它抽象了大量的JDBC冗余代码,并提供了一个简单易用的                API和数据库交互。        MyBatis的前身是iBATIS,iBATIS于2...

2018-10-11 19:26:38 268

原创 java第十三章练习题(Java事件驱动编程)

第十三章练习题(Java事件驱动编程)     1.以下关于GUI事件处理模型的叙述,哪两项是错误的(选两项)?    A.GUI事件处理模型是委托式模型,其委托对象是事件处理器。    B.用户与GUI的交互需要通过事件机制来完成。    C.GUI事件处理模型是层次模型,因此一个事件可被多个组件处理。    D.—个事件源只能注册一个事件侦听器。     2.G...

2018-10-08 20:11:18 2356

原创 java第十二章练习题(基于Swing的图形用户界面设计)

第十二章练习题(基于Swing的图形用户界面设计)     1.下列有关Swing的叙述,哪项错误?    A.Swing是Java基础类(JFC)的组成部分    B.Swing是可用来构建GUI的程序包    C.Swing是AWT图形T具包的替代技术    D.Java基础类(JFC)是Swing的组成部分     2.Swing GUI通常由哪几类元素组成?...

2018-10-08 19:27:50 8689

原创 java第十一章练习题(使用泛型和集合框架)

第十一章练习题(使用泛型和集合框架)     1.集合API 中Set接口的特点是哪项?    A.不允许重复元素,元素有顺序    B.允许重复元素,元素无顺序    C.允许重复元素,元素有顺序    D.不允许重复元素,元素无顺序     2.实现了Set接口的类是哪项?    A.  ArrayList    B.  HashTable    C...

2018-10-08 19:27:03 6074

原创 jsp中的路径、EL表达式、JSTL标签库

7.jsp页面中的路径    一般情况下,jsp中路径问题是和我们之前在servlet中讨论的html里面的路径问题是一样的,但是在jsp中有一种情况是要特殊对待的。    如果在jsp页面的上面写了这样一个脚本:    <%    String path = request.getContextPath();    String basePath = request.getSch...

2018-10-08 10:54:12 575

原创 jsp动作元素、jsp对象

3.jsp的动作元素       <jsp:useBean id="s" class="com.briup.bean.Student" scope="page"></jsp:useBean>       相当于代码:       <%        Student s = null;        s = (Student)pageContext.getA...

2018-10-08 10:53:01 213

原创 jsp简介、jsp指令元素

 1.jsp是什么       java server page(JSP)       后缀名以.jsp结尾的页面文件.       .html文件是静态页面.       .jsp 文件是动态页面.          2.jsp页面中可以写哪些内容        1.html标签    2.css    3.javascript    4.java代码    5.EL表达...

2018-10-08 10:51:23 258

原创 URL重写、Filter(过滤器)、监听器(Listener)

14.URL重写    也属于会话追踪技术的一种.    URL重写解决了这样一个问题:    当前浏览器把cookie禁用之后,浏览器在发请求的时候,就不会把cookie带到服务器端了(其中最重要的也包括JSESSIONID),因为禁用cookie之后浏览器拒绝一切站点向浏览器写入cookie的(注意再禁用之前是否已经有一些已经存在的cookie了),这样的话,多个请求就不能在服务器端拿...

2018-10-08 10:49:27 290

原创 java第十章练习题(输入输出流)

第十章练习题(输入输出流)     1.下列哪项是Java语言中所定义的字节流?    A.Output    B.Reader    C.Writer    D.InputStream        2.在输入流的read方法返回哪个值的时候表示读取结束?    A.  0    B.  1    C.  -1    D.  null    ...

2018-09-28 16:59:26 7450

原创 java第九章练习题(多线程机制)

第九章练习题(多线程机制)     1.线程由以下哪些部分组成?(选三项)    A.虚拟的CPU    B.CPu执行的代码    C.支持代码工作的数据    D.进程        2.创建线程的时候必须实现哪项接口?    A.  Runnable    B.  Thread    C.  Run    D.  Start      ...

2018-09-28 16:58:48 1200

原创 servlet容器

    12.request session application  pageContext(作用范围:jsp页面内)       这三个对象可以在服务器内部帮我们保存数据以及传递数据.            类型            对象名       HttpServletRequest   request       HttpSession        session    ...

2018-09-28 16:55:42 188

115个Java面试题和答案——终极(下)

题目:115 个 Java 面试题和答案——终极(下) 第一篇讨论了面向对象编程和它的特点,关于 Java 和它的功能的常见问题,Java 的集合类, 垃圾收集器,本章主要讨论异常处理,Java 小应用程序,Swing,JDBC,远程方法调用(RMI), Servlet 和 JSP 。 异常处理 Java 小应用程序(Applet) Swing JDBC 远程方法调用(RMI) Servlet JSP

2018-08-06

115个Java面试题和答案——终极(上)

本文我们将要讨论Java 面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的 Java 和通用的面向对象编程的能力。下面的章节分为上下两篇,第一篇将要讨论面向对象编程和它的特点,关于 Java 和它的功能的常见问题,Java 的集合类,垃圾收集器,第二篇主要讨论异常处理,Java 小应用程序,Swing,JDBC,远程方法调用(RMI),Servlet 和 JSP。 目录 面向对象编程(OOP) 常见的 Java 问题 Java 线程 Java 集合类 垃圾收集器

2018-08-06

Java23种设计模式(Patterns in Java)

Java 提供了丰富的API,同时又有强大的数据库系统作底层支持,那么我们的编程似乎变成了类似积木的简单"拼凑"和调用,甚至有人提倡"蓝领程序员",这些都是对现代编程技术的不了解所至. 在真正可复用的面向对象编程中,GoF 的《设计模式》为我们提供了一套可复用的面向对象技术,再配合 Refactoring(重构方法),所以很少存在简单重复的工作,加上 Java 代码的精炼性和面向对象纯洁性(设计模式是java 的灵魂),编程工作将变成一个让你时刻体验创造快感的激动人心的过程. 为能和大家能共同探讨"设计模式",我将自己在学习中的心得写下来,只是想帮助更多人更容易理解 GoF 的《设计模式》。由于原著都是以 C++为例, 以 Java 为例的设计模式基本又都以图形应用为例,而我们更关心Java 在中间件等服务器方面的应用,因此,本站所有实例都是非图形应用,并且顺带剖析 Jive 论坛系统.同时为降低理解难度,尽量避免使用 UML 图. 如果你有一定的面向对象编程经验,你会发现其中某些设计模式你已经无意识的使用过了;如果你是一个新手,那么从开始就培养自己良好的编程习惯(让你的的程序使用通用的模式,便于他人理解;让你自己减少重复性的编程工作),这无疑是成为一个优秀程序员的必备条件. 整个设计模式贯穿一个原理:面对接口编程,而不是面对实现.目标原则是:降低耦合,增强灵活性.

2018-08-06

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

TA关注的人

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