- 博客(30)
- 收藏
- 关注
转载 Java常用设计模式(转载)
设计模式是编程解决实际问题或类似问题的最佳实践,Java编程中处处都是对象,对象需要创建,对象间需要相互调用,对象的模板是类,类与类需要相互关联引用,如何通用解决上述问题,经过长时间的编程实践总结出来的统筹方法就是设计模式,可以理解设计模式就是如何写出高效程序解决某类问题。设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模
2020-09-12 18:36:55
351
原创 mybatis-gegerator自定义注释
1、mybatis-generator默认的注释 <!-- 两个 suppress 的注释建议不要去除,否则多次生成的xml是追加模式 --> <commentGenerator> <property name="suppressAllComments" value="false"/> <property name="sup...
2020-03-18 18:05:05
679
原创 Spring Boot使用@Async实现自定义线程池异步调用
自定义线程池第一步,先在Spring Boot主类中定义一个线程池,比如@EnableAsync@Configurationclass TaskPoolConfig { @Bean("taskExecutor") public Executor taskExecutor() { ThreadPoolTaskExecutor executor ...
2019-01-24 10:50:05
562
转载 @Schedule定时任务并行(异步)处理
最近项目中遇到一个问题 , 在SpringBoot中设置了定时任务之后 , 在某个点总是没有执行 . 经过搜索研究发现 , spring 定时器任务scheduled-tasks默认配置是单线程串行执行的 . 即在当前时间点之内 . 如果同时有两个定时任务需要执行的时候 , 排在第二个的任务就必须等待第一个任务执行完毕执行才能正常运行.如果第一个任务耗时较久的话 , 就会造成第二个任务不能及时执行...
2019-01-10 10:48:20
3799
原创 从本地文本读取字符,统计完以后再输出到文本
今天突然想起来前几天面试遇到的一道上机题:从本地D盘 text.txt 中读取一段英文,需要统计没个标点符号,以及每一个单词出现的次数,由于是头一次遇到面试实操的,当时有点蒙,当时统计单词个数统计的不准确,后来想了想可以有比较简单的方法。直接上代码:public static void main(String[] args) { File file = new File("D...
2018-12-13 17:34:22
206
1
原创 SpringBoot中JavaMailSender发送附件以及遇到的问题
项目中有一个需求,需要给内部用户邮箱发送附件,直接贴代码:public void sendAnnex(List<String> to, String fileName, String title, String text, ByteArrayOutputStream os){ //防止中文名字 base64加密以后 名字太长被截断 导致中文乱码问题 ...
2018-11-23 11:54:46
4563
1
原创 Mac下载安装JDK
下载jdk8的mac版官网下载地址http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html下载类似jdk-8u191-macosx-x64.dmg,版本号可能会更新安装好之后,进入以下路径查看cd /Library/Java/JavaVirtualMachines/再查...
2018-11-15 15:18:51
1786
转载 SpringCloud实战3-Hystrix请求熔断与服务降级
我们知道大量请求会阻塞在Tomcat服务器上,影响其它整个服务.在复杂的分布式架构的应用程序有很多的依赖,都会不可避免地在某些时候失败.高并发的依赖失败时如果没有隔离措施,当前应用服务就有被拖垮的风险.Spring Cloud Netflix Hystrix就是隔离措施的一种实现,可以设置在某种超时或者失败情形下断开依赖调用或者返回指定逻辑,从而提高分布式系统的稳定性.生活中举个例子,如电力...
2018-11-08 19:03:25
173
原创 CentOS 7 安装mysql
1、下载mysql的repo源# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm下载时候一直报错:Couldn't resolve host :正在尝试其他镜像。后来通过vi /etc/resolv.conf 命令 增加了DNS解决 :nameserver 8.8.8.8 和 nameser...
2018-10-10 17:44:58
143
原创 WebMvcConfigurationSupport 静态资源失效问题
WebMvcConfigurationAdapter 在spring boot 2.0被废弃以后,可以使用系提供的类:WebMvcConfigurationSupport,来替换之前的WebMvcConfigurationAdapter 。 但是替换之后之前的静态资源文件 会被拦截,导致无法可用。解决办法:重写 addResourceHandlers()方法,加入静态文件路径即可...
2018-10-08 16:56:35
5021
原创 No qualifying bean of type 'com.example.miaosha.dao.UserDao' available: expected at least 1 bean whi
今天新建一个spring boot + mybatis 项目的时候,注解加的都没有问题,但是一直报一个错: 试了各种方法,但是还是一直报错,后来检查配置文件发现: 这这个依赖冲突了,导致service在注入dao的时候找不到一个唯一的bean,所以会一直报错,将下面的依赖删掉再运行就可以了。...
2018-09-29 11:14:26
4810
原创 tomcat启动时错误:Failed to start component [StandardEngine[Catalina].StandardHost[localhost].错误
tomcat启动时错误:Failed to start component [StandardEngine[Catalina].StandardHost[localhost].错误我是直接把tomcat删除了重新添加的,就好了
2018-09-19 16:26:32
251
原创 zookeeper启动后查看状态是时显示It is probably not running的问题解决
今天搭建了zookeeper集群,三台服务器的zookeeper都能正常启动,但是在查看zookeeper状态时报It is probably not running错误:我的集群配置文件是:server.1=192.168.46.201:2888:3888server.2=192.168.46.202:2888:3888server.3=192.168.46.203:2888:38...
2018-08-15 17:18:35
2944
1
原创 新建Linux虚拟机
一、选择自定义,然后下一步 二、模式配置,直接下一步 三、接下来是安装操作系统的几种方式 1,物理光驱,就是光盘 2,从光盘镜像文件安装,以这种方式安装的话,很简单直接next就行了 3,一会我们再安装操作系统(这里我们选择3)四、选择要安装的系统类型和版本,然后下一步五、虚拟机名称和保存位置六、分配给服务器的...
2018-08-08 18:46:45
148
原创 如何关闭一个线程
当一个线程的代码执行完或者有异常就会关闭线程,但是如果手动关闭的话,有stop()方法,但是慎用,因为不是线程安全的。如果正确的关闭呢,可以采用用一个变量来控制:public class StopThread implements Runnable{ public static boolean isStop = true; public static void ...
2018-08-06 15:57:11
1676
转载 为什么volatile不能保证原子性而Atomic可以?
转自:http://www.cnblogs.com/Mainz/p/3556430.html在Java中long赋值不是原子操作,因为先写32位,再写后32位,分两步操作,而AtomicLong赋值是原子操作,为什么?为什么volatile能替代简单的锁,却不能保证原子性?这里面涉及volatile,是java中的一个我觉得这个词在Java规范中从未被解释清楚的神奇关键词,在Sun的JDK官方...
2018-08-06 15:55:45
159
原创 新建spring boot用maven install报错
一、报错maven Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.10 修改pom.xml: <build> <plugins> <plugin> <groupId>org.apa...
2018-07-24 20:22:32
993
原创 Leetcode第一题:两数之和
题目给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 实例给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1] 解决办法(利用hash表)public static int[] ...
2018-07-24 11:36:25
235
原创 JUC中CountDownLatch、CyclicBarrier和Semaphore
一、CountDownLatch(倒计时锁存器) CountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。CountDownLatch类只提供了一个构造器:1 public CountDownLat...
2018-07-23 16:59:34
323
原创 最快实现两个有序数组合并为一个有序数组
该算法时间复杂度为O(m+n),m和n为两个数组长度public class DoubleSort { public static int[] sort(int[] one, int[] two){ int onesize = one.length; int twosize = two.length; int threesize =...
2018-07-20 16:28:29
5162
原创 冒泡、快速、插入、选择四种排序算法实现
一:冒泡排序 /** * 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 * 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 * 针对所有的元素重复以上的步骤,除了最后一个 * 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 * @param nums ...
2018-07-20 16:24:32
183
原创 Linux中基本的用户管理
1、基本的用户管理 添加用户 : useradd angela 要修改密码才能登陆 : passwd angele 按提示出入密码即可2、为用户配置sudo权限 用root编辑 vi /etc/sudoers 在文件的如下位置,为hadoop添加一行即可 root ALL=(ALL) ALL ...
2018-07-20 16:05:06
126
原创 Linux中文件权限的操作
drwxr-xr-x:d:标识节点类型(d:文件夹 -:文件 l:链接) r:可读 w:可写 x:可执行 第一组rwx: 表示这个文件的拥有者对它的权限:可读可写可执行 第二组r-x: 表示这个文件的所属组对它的权限:可读 不可写 可执行 第三组r-x: 表示这个文件的其他用户(相对与上面两类)它的权限:可读 不可写 可执行修改文件权限:...
2018-07-20 10:56:03
247
转载 数据库索引实现原理
这篇文章是介绍MySQL数据库中的索引是如何根据需求一步步演变最终成为B+树结构的以及针对B+树索引的查询,插入,删除,更新等操作的处理方法。Oracle和DB2数据库索引的实现基本上也是大同小异的。文章写得很通俗易懂,就转在这了。关于B+树和索引内部结构可以参考:《B 树、B- 树、B+ 树和B* 树》和《深入理解DB2索引(Index)》。 00 – 背景知识- B-Tree &a...
2018-07-18 17:49:55
236
转载 工厂模式——三种方式
工厂模式用工厂方法代替了new操作, 将选择实现类, 创建对象统一管理和控制.从而将调用者(Client)与实现类进行解耦.实现了创建者与调用者分离;使用场景 JDK中Calendar的getInstance方法; JDBC中Connection对象的获取; MyBatis中SqlSessionFactory创建SqlSession; SpringIoC容器创建并管理Bea...
2018-07-17 14:24:15
9496
2
转载 java中单利模式创建的几种方式以及优缺点
Java中单例(Singleton)模式是一种广泛使用的设计模式。单例模式的主要作用是保证在Java程序中,某个类只有一个实例存在。一些管理器和控制器常被设计成单例模式。 单例模式有很多好处,它能够避免实例对象的重复创建,不仅可以减少每次创建对象的时间开销,还可以节约内存空间;能够避免由于操作多个实例导致的逻辑错误。如果一个对象有可能贯穿整个应用程序,而且起到了全局统一管理控制的作用,...
2018-07-12 22:50:45
206
原创 mysql用逗号分割字符串
这是我的表结构,需要分割的就是KEY的值 采用的是mysql的substring_index函数: select a.ID,a.DOCTORID, substring_index(substring_index(a.`KEY`,',',b.help_topic_id+1),',',-1) as key1 from doctora...
2018-07-11 12:39:27
6802
原创 常用的Linux最基本用法
1、日常操作命令 **查看当前所在的工作目录:pwd2、查看当前系统的时间:date3、查看有谁在线(哪些人登陆到了服务器)who 查看当前在线 last 查看最近的登录历史记录4、文件系统操作ls / 查看根目录下的子节点(文件夹和文件)信息 ls -al -a是显示隐藏文件 -l是以更详细的列表形式展示5、切换目录 ...
2018-07-04 16:22:54
174
原创 SVN更新时,报 This client is too old to work with working copy…错误
昨天检出的项目,今天本想更新一下 ,结果svn直接报错,svn: This client is too old to work with working copy ‘/opt/gforge/www/account’. You needto get a newer Subversion client, or to downgrade this working copy.See http://subv...
2018-07-03 09:48:13
1113
1
原创 spring boot项目打包没问题 运行报错
今天新建出一个spring boot项目,打包没有问题,但是运行报错。可以尝试按照这个来修改:项目右键->Project Structure 将所有的Provided(私有化) 改为 compile(编译);...
2018-06-27 16:20:03
1513
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人