
java
文章平均质量分 84
ja_rome
平凡的脚步也可以走出伟大的行程
展开
-
团灭leetcode的股票问题
团灭leetcode的股票问题leetcode中,买卖股票相关的题目I 题题目题目地址:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2原创 2020-05-28 10:36:29 · 2640 阅读 · 0 评论 -
零钱兑换
零钱兑换题目题目地址:https://leetcode-cn.com/problems/coin-change给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。示例1:输入: coins = [1, 2, 5], amount = 11输出: 3 解释: 11 = 5 + 5 + 1示例2:输入: coins = [2], amount = 3输出: -1答案该题原创 2020-05-21 23:44:30 · 2833 阅读 · 0 评论 -
设计模式●工厂模式
设计模式●工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。工厂模式分类三类:(在《设计模式》一书中将简单工厂模式与工厂方法模式合称为工厂方法模式)简单工厂模式(Simp...原创 2018-07-14 20:49:29 · 603 阅读 · 0 评论 -
设计模式
设计模式 设计模式(Design pattern)是一种被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。即:在某些场景下,针对某类问题的某种通用的解决办法设计模式分类创建型模式:对象实例化的模式,创建型模式用于解耦对象的实例化过程结构型模式: 把类或对象结合在一起形成一个更大的结构行为型模式 :类和对象如何交互,及划分责任和算法创建型设计模式...原创 2018-07-14 20:47:13 · 319 阅读 · 0 评论 -
面向对象设计
面向对象设计面向对象基本概念 面向对象程序设计(Object-oriented programming即OOP)是种具有对象概念的程序编程典范,同时也是一种程序开发的抽象方针。它可能包含数据、属性、代码与方法。面向对象编程的两个重要概念是类和对象。类:类是变量与作用这些变量的方法集合,事物都具有其自身的属性和方法,通过这些属性和方法可以将不同的物质区分开来。对象:对象...原创 2018-07-16 10:52:39 · 2090 阅读 · 0 评论 -
Java线上应用故障排查之一:高内存占用
Java线上应用故障排查之一:高内存占用 转载地址:http://www.blogjava.net/hankchen搞Java开发的,经常会碰到下面两种异常:1、java.lang.OutOfMemoryError: PermGen space2、java.lang.OutOfMemoryError: Java heap spaceJava内存模型是描述Java程序中各变...转载 2018-03-31 14:31:47 · 9967 阅读 · 0 评论 -
Java线上应用故障排查之一:高CPU占用
Java线上应用故障排查之一:高CPU占用 转载地址:http://www.blogjava.net/hankchen解决方法 一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环。 以我们最近出现的一个实际故障为例,介绍怎么定位和解决这类问题。根据top命令,发现PID为28555的Java进程占用CPU高达200%,出现故障。...转载 2018-03-30 10:07:46 · 254 阅读 · 0 评论 -
Java单例模式详解
在GoF的23种设计模式中**,单例模式是比较简单的一种。然而,有时候越是简单的东西越容易出现问题。下面就单例设计模式详细的探讨一下。 所谓单例模式,简单来说,就是在整个应用中保证只有一个类的实例存在。就像是Java Web中的application,也就是提供了一个全局变量,用处相当广泛,比如保存全局数据,实现全局性的操作等。最简单实现(饿汉)public class Sing...原创 2018-03-05 17:02:58 · 265 阅读 · 0 评论 -
springboot连接redis并动态切换database
springboot连接redis并动态切换database 众所周知,redis多有个db,在jedis中可以使用select方法去动态的选择redis的database,但在springboot提供的StringRedisTemplate中确,没有该方法,好在StringRedisTemplate预留了一个setConnectionFactory方法,本文主为通过修改Connectio原创 2018-01-05 15:37:20 · 35413 阅读 · 15 评论 -
java web 分页查询、显示
package com.wlzq.entity;public class Page { public int firstRow = 0; public int listRow; public int pageNow; private int count; private int pageCount; private StringBuffer page; public Str原创 2015-09-26 17:00:08 · 1833 阅读 · 0 评论 -
解决mybatis-spring从1.1升级到1.2所带来问题
解决mybatis-spring从1.1升级到1.2所带来问题 该博客主要针对springboot项目问题背景最近在使用项目中遇见如下一个错误:Caused by: java.lang.IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required at org.sp原创 2017-12-22 15:42:57 · 1392 阅读 · 2 评论 -
Gradle仓库配置
一、配置本地仓库路径在系统中创建文件夹,如:E:\dev\java\gradle_res 创建环境变量GRADLE_USER_HOME=E:\dev\java\gradle_res二、配置阿里云镜像欲配置阿里云镜像只需修改Gradle初始化脚本即可。gradle 生命周期中有一个叫 初始化( Initialization )的过程,这个过程运行在 build script 之前,我们可以在这个地方原创 2017-12-21 10:58:19 · 1377 阅读 · 0 评论 -
SpringBoot集成MyBatis
SpringBoot集成MyBatis spring boot 版本为 1.5.8.RELEASE1 准备工作(创建数据表)CREATE TABLE `admin` ( `admin_id` varchar(32) NOT NULL, `account` varchar(45) NOT NULL, `password` varchar(255) NOT NULL, `salt原创 2017-11-22 22:24:42 · 910 阅读 · 0 评论 -
Spring事务回滚
Spring事务回滚背景:最近在项目中遇到这样一个问题,记想在service中进行回滚,又想在捕获异常进行一定的业务处理,经过分析以及网络所搜,最后得出以下内容首先应该熟悉spring事务机制:默认spring事务只在发生未被捕获的 runtimeexcetpion时才回滚spring aop 异常捕获原理:被拦截的方法需显式抛出异常,并不能经任何处理,这样aop代理才能捕获到方法的异常,才能原创 2017-09-16 11:17:28 · 379 阅读 · 0 评论 -
nginx配置详细-最全说明
#定义Nginx运行的用户和用户组user www www;#nginx进程数,建议设置为等于CPU总核心数。worker_processes 8;#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]error_log /var/log/nginx/error.log info;#进程原创 2017-07-10 13:59:42 · 640 阅读 · 0 评论 -
WGS84、GCJ02、BD09各坐标系之间的转换算法
WGS84、GCJ02、BD09各坐标系之间的转换算法坐标解释WGS84坐标系:即地球坐标系,国际上通用的坐标系。设备一般包含GPS芯片或者北斗芯片获取的经纬度为WGS84地理坐标系,谷歌地图采用的是WGS84地理坐标系(中国范围除外);GCJ02坐标系:即火星坐标系,是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。谷歌中国地图和搜搜中国地图采用的是GCJ02原创 2017-06-28 13:43:22 · 8158 阅读 · 2 评论 -
java利用zxing生成二维码
java利用zxing生成二维码 环境:IntelliJ IDEA 2016.3.4(64)、jdk1.7创建maven工程pom文件内容如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.or原创 2017-06-12 22:58:58 · 1017 阅读 · 0 评论 -
设计模式●单例模式
设计模式●单例模式 所谓单例模式,简单来说,就是在整个应用中保证只有一个类的实例存在。就像是Java Web中的application,也就是提供了一个全局变量,用处相当广泛,比如保存全局数据,实现全局性的操作等。 在单例模式的实现过程中,需要注意以下三点:单例类的构造函数为私有提供一个自身的静态私有成员变量提供一个公有的静态工厂方法单例模式优点提供了对唯一实例...原创 2018-07-14 20:52:46 · 1074 阅读 · 0 评论 -
设计模式●外观模式
设计模式●外观模式 提供一个统一的接口,用来访问子系统中的一群接口,外观定义了一个高层的接口,让子系统更容易使用。其实就是为了方便客户的使用,把一群操作,封装成一个方法。模式定义外观模式(Facade Pattern):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。...原创 2018-07-15 16:50:30 · 295 阅读 · 0 评论 -
设计模式●观察者模式
设计模式●观察者模式观察者模式(Observer Pattern):定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。 模式结构观察者模...原创 2018-07-15 16:53:22 · 289 阅读 · 0 评论 -
多线程编程概述
多线程编程线程基本概念主线程与子线程每个Java应用程序都有一个执行Main()函数的默认线程,这就是主线程(main thread)。当Java程序启动时,主线程立刻运行,因为它是程序开始时就执行的。主线程的重要性体现在两方面:它是产生其他子线程的线程通常它必须最后完成执行,因为它执行各种关闭动作由主线程创建的线程即被称为子线程。Java主要通过jaava.lang.Th...原创 2019-08-25 22:12:53 · 2690 阅读 · 0 评论 -
Java8新特性
Java8新特性接口默认方法与静态方法接口默认方法实现方式:public interface UserInterface { default void addUser(){ System.out.println("add user"); }}在接口定义中使用default关键字即可定义一个自带方法内容的接口方法,子类可以不实现该方法。接口冲突接口是...原创 2019-08-25 20:44:39 · 2557 阅读 · 0 评论 -
docker训练-使用dockerfile构建自己的java项目
docker训练-使用dockerfile构建自己的java项目构建镜像的方式export 导出一个容器:docker export –o mynginx.tar mynginx1commit 从容器创建一个新的镜像:docker commit –a “yql” –m “my nginx” mynginx1 mynginx:v1使用dockerifle构建下面将介绍如何使用docke...原创 2019-07-06 23:16:18 · 7353 阅读 · 0 评论 -
RocketMQ实战分享
RocketMQ分享为什么使用RocketMQhttps://rocketmq.apache.org/docs/motivation/https://rocketmq.apache.org/rocketmq/how-to-support-more-queues-in-rocketmq/消息队列的优点:解耦异步削峰消息队列缺点:系统可用性降低系统复杂度提高存在一致性问...原创 2019-04-03 09:51:44 · 4272 阅读 · 0 评论 -
SpringAOP原理
Spring中的AOP原理代理在熟悉AOP之前我们应该了解一个概念:代理。代理又分静态代理与动态代理。顾名思义,静态代理的代理关系在编译时就确定了 ,而动态代理的代理关系是在编译期确定的。动态代理是Java语言中非常经典的一种设计模式,也是所有设计模式中最难理解的一种。常见的动态代理为JDK原生动态代理和CGLIB动态代理。静态代理静态代理实现很简单,但此类代理仅适用于代理类较少的...原创 2018-10-20 17:30:55 · 370 阅读 · 0 评论 -
SpringBoot介绍
SpringBoot介绍Spring框架为我们提供了多种解决方案,但在使用它的时候总免不了进行导包、配置等操作。于是在2012年10月,有人提出了新需求,要求在Spring框架中支持无容器Web应用程序体系结构,即无不需要将项目打包后放置在中间件中,直接通过main方法引导的Spring容器内配置Web容器服务。 于是,2014年4月,SpringBoot正式发布。SpringBoot四大...原创 2018-10-22 22:40:23 · 3962 阅读 · 0 评论 -
Spring核心原理
Spring核心原理在Spring中拥有许多的组件,但核心部分主要为:Beans、Core、Context、Expression,其中最为主要的为Core、与Beans,它们提供了最为核心的IOC和依赖注入功能。下文主要从这两个着手进行说明。设计思想Spring5架构图:Spring框架设计理念在Spring框架中,其最核心组件应属Beans,Spring-Beans模块是所有应用...原创 2018-10-18 21:21:43 · 14439 阅读 · 2 评论 -
SpringApplicationContext初始化过程
SpringApplicationContext初始化过程ContextLoaderListener在SpringBoot面世之前。在一般的WEB项目中,项目的启动都是从web.xml开始的,如果我们想在项目中使用Spring,只需在web.xml文件中指定以下内容即可:<context-param> <param-name>contextConfigLocati...原创 2018-10-18 21:20:20 · 3105 阅读 · 0 评论 -
SpringMvc自定义参数解析与返回值处理
SpringMvc自定义参数解析与返回值处理 近日在做项目的时候,需要解析客户端传来的经过AES加密处理的实体信息,同时也需要向客户端返回经过AES加密的实体信息,在项目初期,都是在Controller方法中去调用某个工具类进行decode、encode操作比较繁琐,于是去寻求解决办法,在翻阅了SpringMvc解析参数的源码后,仿照@RequestBody的进行以下实现。本文基于Spri...原创 2018-08-19 01:13:40 · 4244 阅读 · 0 评论 -
SpringBoot本地化配置
SpringBoot本地化配置前提概要相信做过Spring项目的同学应该对下面一行代码比较熟悉:&lt;bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"&gt; &lt;property name="systemPropertiesModeNam...原创 2018-08-12 10:34:48 · 1983 阅读 · 0 评论 -
SpringBoot加载配置文件
SpringBoot加载配置文件 读过SpringBoot源码的同学应该都知道它会在启动过程中根据spring.factories加载监听器,而其中有一个名叫ConfigFileApplicationListener的监听器,它的作用为加载配置信息,即application.xml、application.yml。常量值说明在ConfigFileApplicationList...原创 2018-08-05 23:21:58 · 1915 阅读 · 0 评论 -
SpringBoot启动过程源码分析
SpringBoot启动过程源码分析 随着SpringBoot的热度越来越高,现在企业中对SpringBoot的使用也越来越频繁,而SpringBoot也没让我们失望,它极大的提高了编程的快捷性,今天就SpringBoot(1.5.8.RELEASE)启动源码来看看SpringBoot是如何避繁就简的吧。启动入口SpringBoot为我们提供了一个简单快捷的启动方式,当我们需...原创 2018-08-05 23:21:12 · 372 阅读 · 0 评论 -
Web Service 教程
一、webservice介绍 1.使用场景 - 不同的移动客户端访问 - 需要访问第三方的项目 2.访问第三方应用的方式 ISO的七层模型 : 物理层、数据链路层、网络层、传输层、表示层、会话层、应用层 - Socket访问 : Socket属于传输层,它是对Tcp/ip协议的实现,包含TCP/UDP,它是所有通信协议...原创 2015-11-15 08:46:52 · 894 阅读 · 0 评论 -
设计模式●原型模式
设计模式●原型模式 原型模式(Prototype pattern):用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。原型模式是创建型模式的一种,其特点在于通过「复制」一个已经存在的实例来返回新的实例,而不是新建实例。被复制的实例就是我们所称的「原型」,这个原型是可定制的。 在提到原型模式时,不得不提起两个概念:深拷贝、浅拷贝深拷贝:当一个类的拷贝构造方法,不仅...原创 2018-07-21 11:59:24 · 267 阅读 · 0 评论 -
设计模式●建造者模式
设计模式●建造者模式 造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。建造者模式属于对象创建型模式。根据中文翻译的不同,建造者模式又可以称为生成器模式。 建造者模式结构建造...原创 2018-07-15 17:03:10 · 228 阅读 · 0 评论 -
使用docker构建JavaWeb服务
使用docker构建JavaWeb服务 本文使用的系统为Ubuntu 16,本文所有命令均在root账户下执行,阅读本文需对docker有一定的了解(请移驾http://blog.youkuaiyun.com/jlh912008548/article/details/73074693) 配置Mysql下载mysqldocker pull hub.c.163.com/library/mysql:latest原创 2017-06-21 15:10:55 · 447 阅读 · 0 评论 -
IDEA Debug启动tomcat报60659端口占用错误
IDEA Debug启动tomcat报60659端口占用错误最近在工作中将开发工具由Eclipse转为IntelliJ IDEA,在使用过程中遇到许多问题,其中60659端口占用错误对于不熟悉IDEA的开发者来说或许会比较头痛,这里将引起该错误的原因以及解决办法作如下解释:在启动tomcat后,左下角弹出这样一个错误:unable to open debugger port(127.0.0.1:60原创 2017-05-19 15:07:56 · 10184 阅读 · 0 评论 -
java 项目日志管理设计方案
java 项目日志管理设计方案 因项目需要记录整个系统的操作记录,考虑到系统操作日志的数据量,单表很容易达到瓶颈,导致查询效率低下,顾使用分表方案,减小数据库的负担,缩短查询时间。目前对于分表的解决方案有很多,但本篇博文主要讲解博主自行实现的日志管理的解决方案1 创建日志表1.1 日志表Sql语句如下 具体表设计随项目情况而变化表创建SQL语句CREATE TABLE `sys_user原创 2017-05-27 16:00:00 · 19425 阅读 · 15 评论 -
hibernate查询
1. 查询概述1) Get/load主键查询2) 对象导航查询3) HQL查询, Hibernate Query language hibernate 提供的面向对象的查询语言。4) Criteria 查询, 完全面向对象的查询(Query ByCriteria ,QBC)5) SQLQuery,原创 2016-04-16 10:43:14 · 751 阅读 · 0 评论 -
Druid 配置
配置_DruidDataSource参考配置 以下是一个参考的连接池配置: <!--数据库驱动 -->propertyname="driverClassName"value="${jdbc.driverClassName}"/> <!--基本属性 url、user、password -->原创 2016-04-16 09:02:19 · 865 阅读 · 0 评论