- 博客(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
原创 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
原创 深入探索枚举源码
写一个简单的枚举类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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人