java
CQ623
这个作者很懒,什么都没留下…
展开
-
springboot项目的zip发版转为jar包发版所得
maven插件maven helper插件可以方便的帮助查看包之间的依赖关系。pugin打jar包使用<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId></plugin>由于maven仓库可能没有原创 2022-04-29 17:14:36 · 684 阅读 · 0 评论 -
java 注意点
java使用List时,不能用null或者new List进行声明,可以使用如下方式List<String> phone = new ArrayList();List<String> phone = Lists.newArrayList();原创 2021-11-14 10:45:45 · 418 阅读 · 0 评论 -
java8(六)之其它
接口中的默认方法与静态方法java8中的方法允许有默认的实现,用default修饰冲突问题,同时接口中也允许有静态方法原创 2020-02-03 19:19:25 · 93 阅读 · 0 评论 -
java8(四)之并行流与顺序流
例子原创 2020-02-03 10:48:00 · 631 阅读 · 0 评论 -
java8(二)之方法引用与构造器引用
方法引用对象:实例方法名类::静态方法名类::实例方法名构造器引用使用案例数组引用使用例子原创 2020-01-31 20:48:34 · 92 阅读 · 0 评论 -
java8(一)之Lambda
java8新特性简洁hash表的改变java8之前的底层是数据和链表的结构,默认大小是16,当存入数据达到75%就进行扩容,也将链表上的元素重新进行哈希运算。java8底层结构变成了:数组-链表-红黑树(二叉树的一种)。当总容量大于64,链表的容量大于8,就将链表转为红黑树,此时除了添加元素变慢了,其他操作均变快了。因此与hashmap相关的都变了,如hashset。Concurrent...原创 2020-01-30 15:19:04 · 619 阅读 · 0 评论 -
微服务零散信息
负载均衡有两种方式的负载均衡集中式:通过软件nginx或则硬件F5将请求根据某种策略转发至服务端。进程内:将负载均衡集中在消费方,消费方根据哪些地址可用选择合适的服务提供者。Ribbon和Feign都作用于消费端Hystrix,服务熔断是微服务长时间不响应做出的对策,作用于服务提供端。服务降级是整体资源不够了先关闭一些服务,作用于消费端。...原创 2020-01-12 16:54:06 · 114 阅读 · 0 评论 -
程序类以post的方式(以json方式进行进行数据交换)调用其他微服务
import com.alibaba.fastjson.JSONObject;import org.apache.http.HttpResponse;import org.apache.http.client.methods.HttpPost;import org.apache.http.entity.StringEntity;import org.apache.http.impl.cli...原创 2019-12-03 13:47:04 · 362 阅读 · 0 评论 -
java中json
传入的数据和传出的数据都是以大致这样的json格式,可能传出的数据还会增加code ,message等字段{ "typeid": 21002, "data": [{ "device_address":["119501004732","119601013618"], "erp_whorder_id":"123456" }]}...原创 2019-11-14 21:43:39 · 96 阅读 · 0 评论 -
java正则表达式
正则表达式也是一门处理字符串的语言使用步骤//将str中的数字替换成ZString str = "12asd45";//1 构建一个PatternPattern p=Pattern.compile("[0-9]");//2 构建一个MatcherMatcher matcher =p.matcher(this.str);//3 使用matcher进行替换String str2 = ...原创 2019-11-10 17:32:40 · 74 阅读 · 0 评论 -
java多线程和高并发(4)
p12Executor 线程池的最顶层接口,里面有一个execute方法需要实现,但是一般我们都不要自己去实现。ExecutorService接口继承自Executor,不仅有execute方法,执行无返回值的runnable,自己还增加了方法如submit,此方法可以执行有返 回值的callable和没有返回值的runnableExecutors是一个操纵Executor的工具类...原创 2019-11-04 22:01:27 · 122 阅读 · 0 评论 -
java面试题
面试题1输出:7String str="java 你好";System.out.println(str.length());//7面试题2输出为:2public class helloWorld { public static void main(String[] args){ int i=0; otherAdd a=new otherAdd(...原创 2019-10-24 21:47:18 · 96 阅读 · 0 评论 -
java多线程和高并发(3)
线程安全的singleton和并发容器p6 单例模式的线程安全 卖票单例模式的线程安全的三种实现方式p7 Vector实现线程安全的,他的方法(size()和remove(0))都是原子性的方法1:可以使用synchronized将size()和remove(0)包裹起来进行同步方法2:java1.5以后提供的并发容器//创建一个队列,这个队列本身就是线程同步的static Que...原创 2019-10-22 21:10:19 · 102 阅读 · 0 评论 -
使用Spring缓存注解操作Redis
使用步骤1 在配置文件中进行缓存配置 主要是制定缓存类型和缓存名称spring.cache.type=Redisspring.cache.cache-names=redisCache2 在业务层的实现类中使用@CachePut @Cacheable @CacheEvict进行缓存操作3 在springboot的启动文件中通过注解@EableCaching启用spring缓存一些...原创 2019-10-20 15:57:26 · 242 阅读 · 0 评论 -
java多线程和高并发基础(2)
reentrantlock手工锁,必须手动释放锁声明一个可重入锁Lock lock = new Reentrantlock();启用锁lock.lock();开启锁lock.unlock();一般在finally中释放锁ReentrantLock 与 synchronized:ReentrantLock 可以完成 synchronized 的任何功能但是ReentrantL...原创 2019-10-15 23:13:32 · 88 阅读 · 0 评论 -
spring(4)
JdbcTemplate1JdbcTemplate是spring提供的操作对象,是对Jdbc API的简单封装JdbcTemplate的使用1 导入相关的jar包2 在配置文件中配置数据源3 在配置文件中将数据源注入到JdbcTemplate中4 在操作类中获取JdbcTemplate。 JdbcTemplate.execute() JdbcTemplate.update() J...原创 2019-10-15 21:12:09 · 243 阅读 · 1 评论 -
Redis基础
1 springboot使用redis1 在mevan中导入redis的启动器并不依赖Redis的异步客服端lettuce2 引入redis的客服端驱动jedis3 在application.properties进行相关的配置(连接池属性,服务器属性)4 使用RedisTemplate进行操作2 spring提供的序列化器1 默认的序列化器:JdkSerializationRedis...原创 2019-10-15 20:03:31 · 126 阅读 · 0 评论 -
Redis性能优化
1 Redis性能优化2 如果redis客户端和服务端都在同一台服务器3 (简书网站)redis 性能优化原创 2019-10-14 13:58:06 · 225 阅读 · 0 评论 -
java线程池优化
1 长队列 + 小maximumPoolSize。会减少CPU的使用、操作系统资源、上下文切换的消耗,但是会降低吞吐量,如果任务被频繁的阻塞如IO线程,系统其实可以调度更多的线程。短队列 + 大maximumPoolSize。CPU更忙,但会增加线程调度的消耗.总结一下,IO密集型可以考虑多些线程来平衡CPU的使用,CPU密集型可以考虑少些线程减少线程调度的消耗。2 Java线程池分析及策略...原创 2019-10-14 11:02:04 · 317 阅读 · 0 评论 -
java多线程和高并发基础(1)
synchronized 锁定的不是代码块,而是堆中的对象。synchronized(this)其中的this指定的是当前类,表明锁定当前类。synchronized作用再静态方法上时,相当于synchronized(当前类.class),锁定当前类的class对象。synchronized的代码是原子操作,不可分死锁:线程一先调用synchronized修饰的资源A,在调用资源B。但是线程...原创 2019-10-13 17:38:42 · 100 阅读 · 0 评论 -
MyBatis(1)
MyBatis框架快速入门基于配置文件的mybatis使用1 创建maven工程2 导入mybatis等相关依赖的坐标3 编写实体类4 编写持久层接口5 编写持久层接口的映射文件 映射文件和持久层接口必须在同一个包中,所处层级必须一样,即java和resources以下的目录结构和名称必须完全一样 映射文件和持久层接口名称必须一样,只是后缀名不一样6 编写SqlMapConfig...原创 2019-10-09 15:34:43 · 78 阅读 · 0 评论 -
spring boot论坛学习
1 在Console中输入$然后回车判断是否引入jQuery成功,如上图。2 当程序出现如下错误说明是服务器错误,直接看Root Cause后面的内容原创 2019-09-13 12:23:00 · 225 阅读 · 0 评论 -
spring(3)
AOP 的相关概念AOP:面向切面编程,即通过预编译和运行期动态代理的方式实现程序功能统一维护的一种技术。作用:在程序运行期间,不修改源码对已有方法进行增强。优势:减少重复代码提高开发效率维护方便使用动态代理的方式实现AOP动态代理的特点字节码随用随创建,随用随加载。它与静态代理的区别也在于此。因为静态代理是字节码一上来就创建好,并完成加载。装饰者模式就是静态代理的一种体现...原创 2019-10-10 17:43:33 · 83 阅读 · 0 评论 -
spring(2)
基于注解的IOC 配置<context:component-scan base-package="com.itheima"></context:component-scan>用于创建对象的相当于:<bean id="" class="">@Component @Controller @Service @Repository用于注入数据的相当于:&...原创 2019-10-10 16:26:37 · 109 阅读 · 0 评论 -
restful风格
1 在方法上使用@RestController注解代替@Controller,默认将返回的数据转为json格式。2 在@RequestMapping中的consumes表示只接受相应类型的请求体。produces表示限定返回的媒体类型。3 在controller处理器返回的内容会经过HttpMessageConverter的接口实现类进行直接转换。对于没有处理的数据模型会转到师徒解析器中Vie...原创 2019-09-23 14:08:42 · 99 阅读 · 0 评论 -
springcloud入门学习总结
1 服务治理两大类:服务注册与服务发现搭建服务注册中心:1 pom中导入依赖2 在springboot启动应用中添加@EnableEurekaServer注解,表明这是一个服务端3 在application.properties中增加配置信息注册服务提供者1 pom中导入依赖2 写Controller类3 在springboot启动应用中添加@EnableDiscoveryCli...原创 2019-09-18 09:53:54 · 160 阅读 · 0 评论 -
spring boot学习总结
1 git 常用命令:add commit push2 Bootstrap 从此工具找到自己对应的前端样式。3 session相当于银行账号,cookie相当于银行卡4 以注解的方式使用mybatis,在application.properties配置数据库的信息,然后在sql注解的类上使用@Mapper,将此Mapper扫描到IOC容器中,或者说将mybatis与spring boot进行...原创 2019-09-16 16:42:52 · 245 阅读 · 0 评论 -
junit,反射,注解
今日内容1. Junit单元测试2. 反射3. 注解Junit单元测试:* 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。 2. 白盒测试:需要写代码的。关注程序具体的执行流程。* Junit使用:白盒测试 * 步骤: 1. 定义一个测试类(测试用例) * 建议: * 测试类名:被测试的类名Test CalculatorT...原创 2019-08-17 16:51:05 · 106 阅读 · 0 评论 -
java配置操作
1 下载安装 idea2 配置JDK3 配置maven4 tomcat下载安装6 mysql安装配置原创 2019-08-17 10:55:51 · 77 阅读 · 0 评论 -
servlet和tomcat学习要点
1 服务器:静态资源(html,css,javaScript)和动态资源(servlet,jsp,php,asp)。动态资源需要先转换为静态资源。2 网络通信三要素:IP,端口,传输协议。原创 2019-08-15 23:40:53 · 180 阅读 · 0 评论 -
maven学习笔记
1 依赖管理:maven工程对jar包的管理过程。2 用maven创建的项目中存在一个pom.xml的文件,这个文件中存放了jar包的坐标。原创 2019-08-14 21:12:20 · 83 阅读 · 0 评论 -
java算法基础
1 二叉树中深度优先的前序中须后序遍历是指根节点所在的位置。原创 2019-09-30 09:46:49 · 102 阅读 · 0 评论 -
java基础
1 Integer.valueOf(123) ,会先检查缓存池,自动装箱的过程也会调用这个方法。缓存池的大小-128~127.2 包装类和String声明为final因此不能被继承。3 String不可变的好处,可以缓存hash值,string pool,安全性,线程安全4 使用new String(“abc”)创建的字符串具有不同的地址5 java8 以后接口的方法会有默认的实现,否则实...原创 2019-09-30 15:23:41 · 77 阅读 · 0 评论 -
spring(1)
Spring是分层的Java SE/EE应用full-stack 轻量级开源框架,以IoC(Inverse Of Control:反转控制)和AOP(Aspect Oriented Programming:面向切面编程)为内核。还能方便整合第三方框架和类库。core container:core context beans SpEL杜绝编译期依赖控制反转就是将创建对象的权利交给框架...原创 2019-10-10 15:27:26 · 83 阅读 · 0 评论 -
MyBatis(4)
Mybatis 延迟加载策略原创 2019-10-09 19:41:22 · 113 阅读 · 0 评论 -
MyBatis(3)
Mybatis 连接池与事务深入实现连接池配置POOLED 使用连接池的数据源UNPOOLED 不使用连接池的数据源JNDI 使用JNDI的数据源PooledDataSource持有一个UnpooledDataSource的引用当需要创建一个连接时也回去调用UnpooledDataSource,PooledDataSource只是提供了一种缓存连接池机制MyBatis 是通过工厂...原创 2019-10-09 17:20:36 · 93 阅读 · 0 评论 -
MyBatis(2)
基于代理Dao 实现CRUD 操作使用要求:1、持久层接口和持久层接口的映射配置必须在相同的包下2、持久层映射配置中mapper 标签的namespace 属性取值必须是持久层接口的全限定类名3、SQL 语句的配置标签,,,的id 属性必须和持久层接口的方法名相同。#{}内容的写法采用的OGNL表达式insert时获取新增用户的自增id的返回值此内容写在<insert>标...原创 2019-10-09 16:42:53 · 83 阅读 · 0 评论 -
SSH整合
整合springmvc和spring1 配置监听器实现启动服务就创建容器ContextLoaderListener2 手动指定spring配置文件的地址整合spring和mybatis1 spring接管mybatis的session工厂2 配置自动扫描所有Mapper接口和文件3 配置spring事务 配置事务管理器 DataSourceTransactionManager 配...原创 2019-10-09 11:16:33 · 69 阅读 · 0 评论 -
springmvc(2)
响应数据和结果视图字符串controller 方法返回字符串可以指定逻辑视图名,通过视图解析器解析为物理视图地址。@RequestMapping中制定时逻辑视图名通过试图解析器,解析为无路路径voidservlet原生API可以作为控制器方法的参数1 使用request转向页面2 使用response进行重定向3 还可以使用response指定相应结果,例如相应json数据Mod...原创 2019-10-08 17:28:47 · 88 阅读 · 0 评论 -
springmvc(1)
Servlet 为创建基于 web 的应用程序提供了基于组件、独立于平台的方法,可以不受 CGI 程序的性能限制。Servlet 有权限访问所有的 Java API,包括访问企业级数据库的 JDBC API。SpringMVC 是一种基于Java 的实现MVC 设计模型的请求驱动类型的轻量级Web 框架清晰的角色划分前端控制器 DispatcherServlet dispatcherSe...原创 2019-10-08 17:05:52 · 199 阅读 · 0 评论