
java开发
q309572960
这个作者很懒,什么都没留下…
展开
-
base-app-docker
DockerfileFROM adoptopenjdk/openjdk11:alpineENV TZ=Asia/ShanghaiRUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezoneRUN echo "alias ll='ls -l'" >> /etc/...原创 2020-01-16 14:15:17 · 175 阅读 · 0 评论 -
git 拉取远程分支到本地
git 拉取远程分支到本地步骤:1、新建一个空文件,文件名为hhhh2、初始化 git init3、自己要与origin master建立连接(下划线为远程仓库链接)git remote add origin git@github.com:XXXX/nothing2.git远程仓库链接在github这里,如下图红色框内所示的链接:输入命令:4、把远程分支拉到本地gi...原创 2020-01-16 11:56:53 · 219 阅读 · 0 评论 -
Spring Boot 配置文件
Spring Boot 配置文件一 配置文件类型 Spring Boot默认支持properties和yml两种格式的配置文件。yml格式是天然的树状接口,相对于properties,yml更加的一目了然。这也是我们推荐的配置文件格式。properties 格式举例server.port=8090server.session-timeout=30server.tomcat.max...原创 2020-01-09 18:25:39 · 173 阅读 · 0 评论 -
Java中HashMap底层实现原理(JDK1.8)源码分析
Java中HashMap底层实现原理(JDK1.8)源码分析这几天学习了HashMap的底层实现,但是发现好几个版本的,代码不一,而且看了Android包的HashMap和JDK中的HashMap的也不是一样,原来他们没有指定JDK版本,很多文章都是旧版本JDK1.6.JDK1.7的。现在我来分析一哈最新的JDK1.8的HashMap及性能优化。在JDK1.6,JDK1.7中,HashMap采...原创 2020-01-07 14:37:52 · 89 阅读 · 0 评论 -
java线程池简介
一、线程池简介1.底层都是ThreadPoolExecutor实现2.3.核心线程数corePoolSize:线程池的常驻核心线程数4.maximumPoolSize线程池能够容纳同时执行的最大线程数5.keepAliveTime:多余的空闲线程的存活时间。当空闲时间达到keepAliveTime时,多余的线程将被销毁,直至只剩下corePoolSize的数量为止。6.unit:kee...原创 2020-01-07 12:10:54 · 111 阅读 · 0 评论 -
使用spring的MethodInterceptor实现aop功能的三种方式
spring interceptor, springmvc interceptor有什么区别?以下是在spring boot环境下执行的在spring boot下有两种方式设置AOP(实现织入weave):使用@Aspect注解使用DefaultPointcutAdvisor以实现TracingInterceptor为例方法1:使用aspectj execution(切点)...原创 2020-01-03 16:48:22 · 472 阅读 · 0 评论 -
Spring, MyBatis 多数据源的配置和管理
Spring, MyBatis 多数据源的配置和管理同一个项目有时会涉及到多个数据库,也就是多数据源。多数据源又可以分为两种情况:1)两个或多个数据库没有相关性,各自独立,其实这种可以作为两个项目来开发。比如在游戏开发中一个数据库是平台数据库,其它还有平台下的游戏对应的数据库;2)两个或多个数据库是master-slave的关系,比如有mysql搭建一个 master-master,其后又带...原创 2020-01-03 16:34:06 · 170 阅读 · 0 评论 -
javaweb1-tomcat初识
一、概念Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,运行jsp和servlet,使用HTTP与客户端(通常是浏览器)进行通信。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选,因为Tomcat 技术先进、性能稳定,成为目前比较流行的Web 应用服务器。Tomcat是应用(java)服务器,它只是一...原创 2019-08-30 22:07:02 · 366 阅读 · 0 评论 -
javaweb2-程序结构
一个web应用程序是由一组servlet、HTTP页面、类、以及其他的资源组成的运行在web服务器上的完整的应用程序,以一种结构化的有层次的目录形式存在。组成web应用程序的这些文件要部署在相应的目录层次中,根目录代表整个web应用程序的“根”。通常将web应用程序的目录放在webapps目录下,在webapps目录下的每一个子目录都是一个独立的web应用程序,子目录的名字就是web应用程序...原创 2019-08-31 21:48:32 · 117 阅读 · 0 评论 -
Spring注解——使用@ComponentScan自动扫描组件
通过本文你将学到:Component Scan是什么?为什么ComponentScan很重要?项目中Spring Boot会对哪些包自动执行扫描(Component Scan)?如何利用Spring Boot定义扫描范围?项目启动时关于Component Scan的常见报错@ComponentScan如果你理解了ComponentScan,你就理解了Spring.Spring是...原创 2019-09-18 15:07:03 · 971 阅读 · 0 评论 -
Spring注解-@Import注解
今日在查看springboot文档时看到None of these features are mandatory and you may choose to replace this single annotation by any of the features that it enables. For instance, you may not want to use component s...转载 2019-09-18 16:03:40 · 178 阅读 · 0 评论 -
Redis 内存满了怎么办?
Redis占用内存大小Redis的内存淘汰LRU算法LRU在Redis中的实现LFU算法问题Redis占用内存大小我们知道Redis是基于内存的key-value数据库,因为系统的内存大小有限,所以我们在使用Redis的时候可以配置Redis能使用的最大的内存大小。1、通过配置文件配置通过在Redis安装目录下面的redis.conf配置文件中添加以下配置设置内存大小//设置R...原创 2019-09-27 09:55:24 · 207 阅读 · 0 评论 -
电商详情页的一般实现
实现方式:小网站:页面静态化。可以为每个商品生成一个静态页面,访问时直接访问商品的静态页面(内容管理系统) 缺点:当商品量很大的时候,无法支撑,商品信息一旦改动,都必须重新生成html页面大网站:将商品数据存储于多级缓存中(Ehcache、redis),商品的html模板存放于前端的web服务器中(nginx),当客户端访问前端页面,将商品数据渲染到html模板里面去,然后返回。好处:如果...原创 2019-10-09 16:02:37 · 634 阅读 · 0 评论 -
Java并发编程之CAS算法
前言在谈CAS算法时,我们先来了解一下无锁的概念。无锁分为以下两大派系:对于乐观派系而言,它们认为事情总会往好的方向去发展,总是认为坏的情况发生概率特别小,可以无所顾忌的做任何事情;对于悲观派系而言,它们总会认为发展事态如果不及时控制,以后就无法挽回,即时此种局面不会发生的情况下。上述两大派系映射到并发编程中就如同加锁与无锁策略,即加锁是一种悲观策略,无锁是一种乐观策略,因为对于加锁...原创 2019-10-10 15:31:53 · 174 阅读 · 0 评论 -
quartz 时间表达式之Cron表达式详解
quartz 时间表达式之Cron表达式详解简单介绍Cron表达式:就是用简单的xxoo符号按照一定的规则,就能把各种时间维度表达的淋漓尽致,无所不在其中,然后在用来做任务调度(定时服务)的quart.net中所认知执行,可想而知这是多么的天衣无缝,说是编码艺术凝集一点不过分Cron表达式的符号、格式表格表1、cron表达式特殊字符意义示意表特殊字符 意义* 匹配所有的值。如:*在分...原创 2019-08-16 18:36:52 · 864 阅读 · 0 评论 -
谈谈 Java 类加载机制
最近在学习 Tomcat 架构,其中很重要的一个模块是类加载器,因为以前学习的不够深入,所以趁这个机会好好把类加载机制搞明白。OverviewAPI for class loadingjava.lang.ClassLoaderjava.security.SecureClassLoaderjava.net.URLClassLoaderTomcat 8.5.15 class loading...转载 2019-05-15 15:27:18 · 75 阅读 · 0 评论 -
在Java的反射中,Class.forName和ClassLoader的区别
前言最近在面试过程中有被问到,在Java反射中Class.forName()加载类和使用ClassLoader加载类的区别。当时没有想出来后来自己研究了一下就写下来记录一下。解释在java中Class.forName()和ClassLoader都可以对类进行加载。ClassLoader就是遵循双亲委派模型最终调用启动类加载器的类加载器,实现的功能是“通过一个类的全限定名来获取描述此类的二进制...转载 2019-05-15 15:36:42 · 91 阅读 · 0 评论 -
spring bean体系架构
顶级容器接口BeanFactory转载 2019-05-25 12:39:53 · 179 阅读 · 0 评论 -
关于spring bean中的id和name
同名bean:多个bean 有相同的 name 或者 id,称之为同名beanbean 的id 和 name的区别id和name都是spring 容器中中bean 的唯一标识符。id: 一个bean的唯一标识 , 命名格式必须符合XML ID属性的命名规范name: 可以用特殊字符,并且一个bean可以用多个名称:name=“bean1,bean2,bean3”,用逗号或者分号...转载 2019-05-23 08:59:21 · 13118 阅读 · 0 评论 -
ELK实时日志分析平台环境部署
ELK实时日志分析平台环境部署–完整记录https://www.cnblogs.com/kevingrace/p/5919021.html在日常运维工作中,对于系统和业务日志的处理尤为重要。今天,在这里分享一下自己部署的ELK(+Redis)-开源实时日志分析平台的记录过程(仅依据本人的实际操作为例说明,如有误述,敬请指出)~概念介绍日志主要包括系统日志、应用程序日志和安全日志。系统运维和...转载 2019-06-04 11:21:29 · 914 阅读 · 0 评论 -
java调用超时的实现
java实现调用,如果超时则报异常的方法实现(阻塞执行)//需要设置超时的方法 public static void main(String[] args) { String data =getYcdata(); System.out.println(data); } //需要设置超时的方法 public static String...原创 2019-08-08 15:20:11 · 1977 阅读 · 0 评论 -
java1.8特性
1.支持Lambda表达式:将函数作为参数进行调用Arrays.asList( "a", "b", "d" ).sort( ( e1, e2 ) -> e1.compareTo( e2 ) );- 2.接口的默认方法和静态方法private interface Defaulable { // Interfaces now allow default methods, th...原创 2019-08-12 12:09:58 · 196 阅读 · 0 评论 -
idea快捷键
导包:alt+enter原创 2019-08-12 18:27:13 · 201 阅读 · 0 评论 -
IDEA不能查看Maven依赖图
由于两个jar包之间存在冲突,需要在Maven依赖中去除一个依赖,想看看这个依赖包是哪个父级依赖引入的,这时候问题来了,我的IDEA为什么不能生成一个Maven依赖图呢?我的IDEA版本:IntelliJ IDEA 2019.1.3 (Ultimate Edition)Build #IU-191.7479.19, built on May 28, 2019正常的显示方式是:点击右侧Ma...原创 2019-08-12 19:10:22 · 4388 阅读 · 3 评论 -
java实现HTTP请求的三种方式
java实现HTTP请求的三种方式 目前JAVA实现HTTP请求的方法用的最多的有两种:一种是通过HTTPClient这种第三方的开源框架去实现。HTTPClient对HTTP的封装性比较不错,通过它基本上能够满足我们大部分的需求,HttpClient3.1 是 org.apache.commons.httpclient下操作远程 url的工具包,虽然已不再更新,但实现工作中使用httpCli...转载 2019-05-15 11:47:47 · 411 阅读 · 0 评论