自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用POI操作excel文件笔记

package excel;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.FileNotFoundException;import java.util.Map;import java...

2019-10-21 22:18:25 178

原创 设计模式(下)

外观模式定义:提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。 类图 精要 设计原则 适用场景 如需要一个高层接口,内部提供多种实现,则可以将这些实现的实例封装到高层接口中,对外提供统一的高层接口。 典型应用 slf4j中使用较多模板方法模式定义:在一个方法中定义一个算...

2019-10-18 10:16:53 259

原创 设计模式(上)

设计模式基础概述:观察者模式定义:观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变时,它的所有依赖者都会收到通知并自动更新。适用场景:存在订阅关系,一个主题被许多观察者订阅,当主题中受观察者关心的数据有变动时,需要立马通知观察者。这里的通知分为推送和拉取2种方式。 类图 精要 典型应用 主题接口定义了一些方法...

2019-10-18 09:49:31 184

原创 多个线程按顺序打印

思路:多个线程争抢同一把锁,但只有当前执行顺序和本线程匹配才执行打印操作,因而,如果顺序不对,即便抢到锁也要释放package thread;import java.util.concurrent.atomic.AtomicInteger;public class ThreadOrderPrint { public static void main(String[] args)...

2019-10-16 14:44:33 388

原创 深入JVM学习笔记

类文件结构 类型 名称 数量 描述 u4 magic 1 魔数 u2 minor_version 1 次版本号 u2 ...

2019-06-24 21:34:09 174

原创 Spring5.x+Jersey+Tomcat搭建REST服务

Jersey作为最开始的REST的参考,有很多项目偏好使用Jersey构建RestFul服务。CXF同样也能够构建REST服务,但是CXF最开始是作为实现SOAP的框架,比较完善,同时也相对重载,在REST构建上可能性能不如Jersey。 我最开始构建时是在原使用CXF的WebService工程中,想到这样需要引入的jar包相对较少(在使用CXF构建REST引入了一些...

2019-06-21 14:49:52 770

原创 LeetCode题目解析

20.有效括号对/* * 有效括号对 * 思路:即将入栈的是前括号则直接入栈,若是后括号则比较栈顶元素,匹配则出栈 */ public boolean isValid(String s) { if(s==null||s.length()%2!=0) return false;//如果允许空,则不能这么判断 else if(s...

2019-05-25 15:37:15 228

原创 使用HttpURLConnection调用HTTP示例

调用HTTP的方法有很多种,使用Java原生的HttpURLConnection可以,也可以使用HttpClient包package util;import java.net.URL;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.io.IOException;im...

2019-04-16 22:06:29 159

原创 《剑指offer》Java版(二)

26.复杂链表的复制/* * 复杂链表的复制,每个节点除了next域还有一个sibling域指向任意节点 * 如果按照next顺序复制,那么sibling域可能指向一个目前还未复制的节点,并且需要再从头搜索一遍 * 本思路参考《剑指offer》,分3步 * 第一步,在原链表的每个原节点后复制一个相同节点,此时只指定了next域,即A指向A' *...

2019-03-18 11:45:27 137

原创 《剑指offer》Java版(一)

3.二维数组中的查找5.从尾到头打印链表6.重建二叉树8.旋转数组的最小数字9.斐波那契数列10.二进制数中1的个数15.链表中倒数第k个节点16.反转链表17.合并2个排序的链表19.二叉树的镜像23.从上往下打印二叉树25.二叉树中和为某一值的路径26.复杂链表的复制27.二叉搜索树与双向链表29.数组中出现次数超过一半的数字31.连...

2019-03-18 11:43:28 150

原创 检测环形链表

来源:《剑指offer》思路:使用快慢指针遍历链表,如果是环形链表,则快慢指针一定在环的入口(也是环的结束点)相遇package test;public class CircleLink { public static void main(String[] args) { CircleLink.MyLink link =createLink(); ...

2018-12-26 16:59:49 337

原创 找出0~100的数组中缺失的数据

来源:https://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/82864223思路:先使用bitmap算法进行标记,再遍历一遍标记即可找出缺失的扩展:如果用一个较小的内存对大量数据进行排序,如使用10M内存1G数据排序,也可以采用这种思路。bitmap算法使用二进制标识一个数据是否出现,一个long类型64位,可以标记64个不同的数据...

2018-11-19 09:30:41 696

原创 求解斐波那契数列

来源于《剑指offer》package algorithm;/* * @author weijie * 实现了递归求解斐波那契数列 * 实现了树形拆分后的自下往上计算求解斐波那契数列 * 矩阵公式比较生僻,暂未实现(2018-11-07) * @date 2018-11-07 */public class Fibonacci {    public static void ...

2018-11-13 11:12:38 133

原创 求一个数的整数幂

来源于《剑指offer》,但是书上用C写的,这里用Java实现,简单易懂package algorithm;/* * @author weijie * 实现了求解一个数的整数次方 * 采用二分幂递归的方式实现 * 参考数学模型,指数函数的按奇偶二分幂分段函数(二分之后递归特性就显现出来了) * 注:这里的数未必是整数,也未必是正数,只是幂是整数而已,也就是说幂可能为负数 * @d...

2018-11-13 11:07:46 405

原创 找出数组中只出现一次的数字

来源于《剑指offer》,书上用C/C++写的一个整数数组中有一个数字只出现1次,而其它所有数字都是出现2次,找出该数?解答:将该数组的所有数异或得到的即是该数,因为a⊕b⊕a=b如果数组中出现2个这样的数字,该如何?解答:依然先将所有数据异或,得到的是这2个只出现一次的数字异或的结果,这2个数不相等,则得到的结果一定不为0,即它的二进制至少有1个1,而这个1一定只来自这2个数其中...

2018-11-06 15:53:16 188

原创 volatile的可见性

volaile仅能保证可见性,不能保证原子性。即一个线程对共享变量的修改,其它线程可见。这是本地测试的,参考了https://mp.weixin.qq.com/s?__biz=MzI3ODcxMzQzMw==&mid=2247483916&idx=1&sn=89daf388da0d6fe40dc54e9a4018baeb&chksm=eb53873adc240e...

2018-10-24 17:16:32 394

原创 扫码登录

参考菜鸟架构的文章:https://mp.weixin.qq.com/s/Aa331QUStL_T9NVNnuQyOQ 

2018-10-10 15:55:49 314

原创 深入探索枚举源码

写一个简单的枚举类public enum EnumTest {    RED("red","红色的"),    GREEN,    Blue;    public final String key;    public final String value;    private EnumTest(String key, String value)    {        th...

2018-10-10 11:42:42 151

原创 Java Web中的配置文件路径

Java Web项目中配置文件的加载路径,普通类和Servlet的默认根路径有些不一样1、配置文件方在src下,在普通class文件中加载public String sayHello(String name) { String path = "config/jdbc_mysql.properties"; Properties props = ne...

2018-09-27 11:47:48 10624

原创 Mongo学习笔记

本篇学习笔记主要来源于:http://www.runoob.com/mongodb/mongodb-tutorial.htmlMongoDB中将表称为集合,将行称为文档,将列称为字段Robo客户端双击表出现下图所示页面,展示这个表里的所有数据1、Mongo基础语法(1)创建集合db.createCollection(“集合名”),若当前用户权限较高,先切换到对应数据库,eg...

2018-09-15 11:01:26 255

原创 Java常见面试题——多线程

 3.2.1 多线程线程有哪些状态?各种状态之间是怎么切换的?答:Java的Thread类中通过static枚举定义了线程的几种状态NEW:初始,即新创建了一个线程对象,但是还没有start()RUNNABLE:就绪/运行,调用start()成功后的状态BLOCKED:阻塞,即线程阻塞于锁WAITING:线程需要等待其它线程做出一些特定动作(通知或中断)TIME...

2018-08-23 11:48:13 1408 1

原创 Spring5.x集成Mybatis构建REST服务

       在上一篇博客写了Spring5.x与CXF结合构建了REST服务,但是数据库访问仍然使用原生jdbc以及DriverManager等,在真实的工程应用中访问自身的数据库极少采用这种方式,因为这种方式将sql直接写到了Java代码中,对于数据库有变化以及数据库访问需求有变化时扩展非常麻烦,最容易体会的动态sql。直接用Mybatis管理也能够实现,利用Mybatis的SQL支持能够将数...

2018-08-17 18:20:54 648

原创 Spring5.x+CXF3.x+Tomcat搭建REST服务

       如今REST风格的服务比较流行,调用起来也方便,受到广泛欢迎,我在网上找了一堆材料来试图搭建,过程中碰到很多问题,我没有找到使用Spring5.x来搭建的博客,可能是我碰到很多问题的重要原因之一,另外没有打框架日志也是一个重要原因。       这次的搭建与上一篇搭建SOAP服务在同一个工程里,主要差别是引入的jar包、接口、服务发布配置不同,另外使用了数据库,建了1个简单的表,...

2018-08-09 21:08:04 706

原创 Spring5.x+CXF3.x+Tomcat构建SOAP服务

JDK自带类库支持发布SOAP服务,开发比较简单,但是不方便管理和扩展.CXF对ws和rs类的WebService有良好的支持,并且可以无缝与Sping集成,使得开发过程非常简单,且便于扩展。一、使用JDK原生的类库开发SOAP服务1、创建java项目(不需要是Web项目,用main方法启动)2、创建接口类百度搜到最多的就是sayHello,这里的注解可以不用加,形参里面的注解能够...

2018-07-22 12:38:48 1158

面试宝典.xlsx

面试材料,涉及Java、前端等各个方面,作为以Java为主的开发人员需要学习和准备的内容

2019-10-24

空空如也

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

TA关注的人

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