随笔分类 -  Java

1
Java
摘要:java 自带的性能分析工具主要在bin目录下,包括jps、jstat、jmap、jhat等另外包括JConsole、Visual VM GUI工具。 此处不记录GUI ,且仅记录个人觉得常用有效的命令。 一、Jps: jps 当前运行的java程序的pid、启动Main jps -v 启动的pid 阅读全文
posted @ 2020-08-08 23:18 李鹏飞ONLINE 阅读(424) 评论(0) 推荐(0)
摘要:转载自 https://www.jianshu.com/p/bdc88bef0af2 Jrebel 优势 破解 https://blog.csdn.net/weixin_44018093/article/details/97672217 生成GUID的方法进行破解,目前真实有效~而且是长期的哦 阅读全文
posted @ 2020-04-14 21:13 李鹏飞ONLINE 阅读(407) 评论(0) 推荐(0)
摘要:一、gradle 排除起步依赖中的logback 还有一种在部分排除 二、新建配置文件,默认放在resource目录下 log4j2-XXXX.xml 可以指定配置文件位置: 三、修改配置文件 官网:http://logging.apache.org/log4j/2.x/log4j-spring-c 阅读全文
posted @ 2019-09-09 19:00 李鹏飞ONLINE 阅读(621) 评论(0) 推荐(0)
摘要:JMS 是基于消息代理的规范,而ActiveMQ,HornetQ 是一个JMS 消息代理的实现。 AMQP 也是一个消息代理的规范,但它不仅兼容JMS 还支持跨语言和跨平台。AMQP 的主要实现有RabbitMQ。 队列/主题:点对点/发布与订阅 消息代理:message-broker 目的地:de 阅读全文
posted @ 2019-09-09 11:14 李鹏飞ONLINE 阅读(570) 评论(1) 推荐(0)
摘要:开启security过滤支持: 创建一个初始化类继承 在配置类中添加@EnableWebSecutity 注解。 配置认证与授权: 继承 WebSecurityConfigurerAdapter 实现configure 方法 针对用户管理(用户来源,用户密码效验规则) 请求拦截。 自定义数据源: 实 阅读全文
posted @ 2019-09-09 10:14 李鹏飞ONLINE 阅读(276) 评论(0) 推荐(0)
摘要:在工作初期就看了关于设计模式的书《大话设计模式》简单易懂,但是后来对一些设计模式渐渐模糊,记得最多或者大家说的最多的像单例、工厂记忆深刻,现在回头再看一遍,别以一番风味,理解又有不同,这里个人简单进行记录,其中间杂着个人的一些见解。 关于例子,大家可以去找这边本看看,或者直接到git上clone一下 阅读全文
posted @ 2019-09-06 17:33 李鹏飞ONLINE 阅读(228) 评论(0) 推荐(0)
摘要:1.mongodb(对象): docker : 拉取docker 镜像 docker pull mongo 运行 docker run -d -p 27017:27017 mongo 下载mongodb 客户端 robomongo https://robomongo.org/download 项目导 阅读全文
posted @ 2019-08-30 18:08 李鹏飞ONLINE 阅读(300) 评论(0) 推荐(0)
摘要:关于事务处理机制ACID,记一下 原子、一致、隔离、持久,顾名思义不解释。 spring提供的事务处理接口:platformtransactionmanager,事务管理框架,名字好大。 使用@Transaction 注解声明事务(可以在类,也可以在方法上(方法会覆盖类上的注解属性)) 它的属性比较 阅读全文
posted @ 2019-08-29 22:09 李鹏飞ONLINE 阅读(270) 评论(0) 推荐(0)
摘要:spring boot 定义rest资源 1.引入起步依赖 2.定义实体bean 3.访问rest资源 http://localhost:8080/xxxxs 自定义rest方法 search访问 http://localhost:8080/persons/search/start?name=xxx 阅读全文
posted @ 2019-08-29 20:06 李鹏飞ONLINE 阅读(1140) 评论(0) 推荐(0)
摘要:spring boot 提供的默认repository 适合大多场景,对于一些特殊场景,需要特殊的方法,除了使用@NAMEQUERY @QUERY 自定义sql语句外,还可以自定义基础repository 这里记录一些踩到的坑或者说遇到的需要注意的地方 1、自定义查询条件,使用specificati 阅读全文
posted @ 2019-08-28 22:52 李鹏飞ONLINE 阅读(2037) 评论(1) 推荐(0)
摘要:说线程池必须说队列,因为线程池跟队列有着莫大的关系 一、阻塞队列(7个):数组阻塞队列、链表阻塞队列、优先级排序队列,还有对应的无界阻塞队列,另外还有双向阻塞队列,排序规则分为先进先出FIFO 与先进后出LIFO两种。 对于阻塞队列,针对插入与移除有有4种操作方式。如下: 测试(有界队列): 1.抛 阅读全文
posted @ 2019-05-14 15:54 李鹏飞ONLINE 阅读(8224) 评论(0) 推荐(0)
摘要:Join 方法可以使当前线程等待子线程,如果子线程未结束,则会一致处在wait状态。 因为其内部是通过wait 方法实现的,当执行完毕后会调用notifyAll 释放锁。 CountDownLatch 允许一个或多个线程等待其他线程完成操作,相比join ,能做的事情更多。 输出: 由结果看出,实现 阅读全文
posted @ 2019-05-10 21:57 李鹏飞ONLINE 阅读(192) 评论(0) 推荐(0)
摘要:单例模式大家都知道,不用多说,就是只保持一个实例~ 比如(饥饿模式/饿汉模式): 延迟加载: 下面针对懒汉模式与多线程的实例。 如果是在多线程的情况下,就有可能出现错误,比如: 输出: 说明创建了2个对象实例。 那么就同步呗:synchronized 输出: 提高效率: 输出: 这样的话,就只是在创 阅读全文
posted @ 2019-05-08 19:15 李鹏飞ONLINE 阅读(155) 评论(0) 推荐(0)
摘要:Lock:lock对象功能类似synchronized ,但是更加方便,或者说有更多的功能。 实现类: 1.ReentrantLock 2.ReentrantReadWriteLock : 读写互斥,比1功能再多一点 一、ReentrantLock 首先回顾一下synchronized: 输出: 结 阅读全文
posted @ 2019-05-08 18:49 李鹏飞ONLINE 阅读(248) 评论(0) 推荐(0)
摘要:join: 说明:线程A等待线程B 的结果或者等待线程B执行结束 输出: 由结果看出,主线程等待子线程结束后再继续执行。 join与synchronized 的不同在于:虽然都会阻塞,但是join内部使用的是wait 进行等待,而synchronized 使用的时候对象监视器。 join(long) 阅读全文
posted @ 2019-05-08 17:39 李鹏飞ONLINE 阅读(238) 评论(0) 推荐(0)
摘要:高内聚与低耦合的概念说实话,对本人来说每次提起来总是有些模糊,下午看了一些博主的文章,感觉清晰了一些,在此记录一下个人的理解。 首先感谢几位老哥的文章,如下: https://blog.csdn.net/qq_39521554/article/details/79489180 https://www 阅读全文
posted @ 2019-05-06 18:15 李鹏飞ONLINE 阅读(2495) 评论(0) 推荐(0)
摘要:一、wait、notify、notifAll 所有Object都有这三个方法。 wait :当前线程等待锁(放弃当前线程持有的锁) notify:随机通知等待此锁的线程准备获取锁 notifyALL:释放锁并通知所有等待此锁的线程 整个等待与通知的过程,类似餐馆上菜,服务员等待菜,厨师(线程)做好菜 阅读全文
posted @ 2019-05-05 22:33 李鹏飞ONLINE 阅读(581) 评论(0) 推荐(0)
摘要:锁对象的改变: 关于锁,如果多个线程争的是一个锁,那么就是同步的,如果不是一个锁就是异步的。 那么关键点就在于是不是同一个锁,如果在运行过程中锁改变了,那么变成异步的话就会出现问题,需注意。 volatile 关键字: 在多个线程中可见,不具备原子性。 线程中的实例属性在 -server 模式中,线 阅读全文
posted @ 2019-05-05 20:46 李鹏飞ONLINE 阅读(154) 评论(0) 推荐(0)
摘要:简单的说,jsp是servlet的扩展,servlet 是 java applet(解释为java小程序) 刚开始学java 的时候,jsp 与html 傻傻分不清楚,jsp中能写html标签、元素、属性等等,为啥说jsp是一门java的技术,后来才知道,jsp会编译,最终生成html响应给客户端。 阅读全文
posted @ 2019-05-03 21:57 李鹏飞ONLINE 阅读(337) 评论(0) 推荐(0)
摘要:接着3说: 一、String常量池 先回顾 java 的基本数据类型: 变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。 因此,通过定义不同类型的变量,可以在内存中储存整数、小数或者字符。 阅读全文
posted @ 2019-04-26 21:11 李鹏飞ONLINE 阅读(204) 评论(0) 推荐(0)

1