
java
文章平均质量分 54
程序猿发儿
用力推,虚掩着的门为你打开……
展开
-
负载均衡和集群思考
一、什么是负载均衡?负载均衡用来解决一个单台服务器的压力,简单来讲负载均衡:服务器A,比如做了Nginx处理,通过服务器A端口88均衡转发(请求)服务器b、和服务器c,这是负载均衡,其中服务器A是负载集群:同一个工程部署在不同服务器的称为集群,两个及以上的就是集群,服务器b和服务器c合并称为集群负载均衡的前提是集群。集群的情况下有很多问题产生:1.session共享2.分布式情况下定时JOB解决幂等性二、高并发解决方案高并发解决方案包括:负载均衡、集群、cdn、分原创 2021-01-17 11:07:56 · 211 阅读 · 1 评论 -
rerdis基本数据类型操作
五种基本数据类型:1.String创建和查找命令:set key value ,如:set String wsfget key,如:get String2.List类型创建和查找操作lpush key value,如:lpush List wsf,lpush List wsflrange key 0 10,如:lrange List 0 103.set类型要求元素值不能重复创建和查找sadd key value,如:sadd set wsfsmem原创 2020-09-06 21:53:04 · 340 阅读 · 0 评论 -
start.bat批处理文件
.bat结尾的是批处理文件,在使用redis在windows中启动时,可以这样配置,新建一个start.bat文件,里面放置需要启动 的文件原创 2020-09-06 20:16:46 · 4022 阅读 · 0 评论 -
spring boot 配置读哪个环境
比如有:dev、test、prod。application-dev.properties:开发环境application-test.properties:测试环境application-prod.properties:生产环境首先服务起来会读application.properties中的内容,如果有很多配置,可以在application.properties使用如下语句:sp...原创 2020-05-04 12:54:24 · 188 阅读 · 0 评论 -
getter&setter
某个entity类中除了可以右键生成get和set方法外,还可以生成toString方法和构造函数。equals()and hashCode暂时没有用到过。原创 2020-03-27 10:26:36 · 137 阅读 · 0 评论 -
maven学习总结
maven package 编译并打包maven install 将jar包打到本地仓库,即下载到自己本机上的maven 仓库原创 2020-02-16 10:40:32 · 181 阅读 · 1 评论 -
http协议总结
什么是时间戳?时间戳作用:防止缓存,解决版本更新代码不同步的问题。如果不加时间戳,当http相应状态为304时,从本地缓存中读取资源,而没有请求到服务器。http状态304 表示从本地读取。...原创 2020-03-24 09:43:13 · 253 阅读 · 0 评论 -
cookie和session
一、应用场景登录、购物车、移动端APP接口会话管理二、cookie和session的区别cookie--服务器与客户端资源保存,保存在客户端;session--保存在服务器端,存放在内存里,客户端与服务器端进行通讯使用SessionId...原创 2020-03-16 15:52:00 · 171 阅读 · 0 评论 -
ngrok将本地服务映射出去
参考:https://blog.youkuaiyun.com/a5252145/article/details/84895271内网服务映射到外网的截图转载 2020-03-15 15:12:04 · 168 阅读 · 0 评论 -
web服务器
web服务器有哪些:Tomcat,weblogic等,特点如下。 WebLogic: BEA公司的产品。 收费的。支持JavaEE规范。 WebSphere: IBM公司的产品。收费的。支持JavaEE规范 JBoss: Red...原创 2020-03-14 11:21:11 · 132 阅读 · 0 评论 -
TCP和UDP的区别
TCP面向连接,需要三次握手,效率低,但传输安全。udp面向无连接,传输效率高,但容易丢包,不安全。原创 2020-03-14 08:32:12 · 115 阅读 · 0 评论 -
StringBuffer和StringBuilder的区别
二者都可以用于拼接字符串区别:StringBuffer线程安全,StringBuilder不是线程安全 StringBuffer执行效率低,StringBuilder执行效率高 StringBuffer和StringBuilder类似于HashTable和HashMap...原创 2020-03-10 22:59:28 · 102 阅读 · 0 评论 -
GC原理总结
一、为什么要了解GC?GC是java上JVM虚拟机的垃圾回收机制。合理使用,可以避免OOM(内存用完了)问题;可以进行jvm性能调优,提高程序执行效率、可靠性和健壮性。从以下几个方面进行分析:java堆内存结构 分代回收算法 垃圾回收机制 GC日志 jvm参数调优二、根据java堆内存结构进行分析java堆内存结构分为新生代、老生代和永久代(注:jdk1.8中为Metas...转载 2020-03-10 11:35:58 · 243 阅读 · 0 评论 -
idea中设置打印GC日志
首先需要进行VM options 配置:-XX:+PrintGCDetails运行测试时如下:由此可以知道jdk1.8中有新生代、老生代和Metaspace组成。原创 2020-03-10 10:57:37 · 575 阅读 · 0 评论 -
IDEA中Push rejected和解除git版本控制
删除git版本控制,需要删除对应的隐藏文件.git和对应的vcs.xml参考:https://blog.youkuaiyun.com/qq_38225558/article/details/86233910转载 2020-03-09 17:59:42 · 449 阅读 · 0 评论 -
java编程基础总结
需求:输入数字判断是否为快乐数,快乐数的定义:输入正整数,所有位数的平方和相加进行循环,是否为1,为1则为快乐数,不为1则为false如快乐数:19,1*1+9*9=82;8*8+2*2=68;6*6+8*8=100;1*1+0*0+0*0=11.输入数字2.判断是否为快乐数package test;import java.math.BigDecimal;import ja...原创 2020-03-09 10:54:10 · 217 阅读 · 0 评论 -
Redis的哨兵模式和集群模式
参考:https://www.cnblogs.com/mzhaox/p/11218096.htmlRedis的哨兵模式和集群模式都是为了实现高可用。哨兵模式解决了自动化的故障恢复,但无法进行写操作的负载均衡,存储能力受到单机的限制;集群模式解决了写操作无法负载均衡和存储能力受到单机的限制,实现了较为完善的高可用方案...转载 2020-03-08 12:18:37 · 504 阅读 · 0 评论 -
HashMap、HashTable、ArrayList、LinkedList总结
一、HashMap和HashTable的区别与联系HashMap继承AbstractMap类,而HsahTable继承Dictionary类 HashMap使用JDK1.2版本,HashTable使用JDK1.0版本 HashMap线程不安全,HashTable线程安全(由于方法上加了Synchronized关键字)HashMap的底层数据结构的数组+链表,逻辑结构图如下:紫色代...原创 2020-03-08 10:46:39 · 286 阅读 · 0 评论 -
设计模式总结
一、为什么用设计模式?使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。如代理模式可以请求打印日志信息,工厂模式可以负责初始化一些,观察者模式可以对事件的监听,单例模式,一定会手写单例策略设计模式二、设计模式分类设计模式总共23种,分为三类:1.创建型:共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。2.结构型:共七种:适配器模式...原创 2020-03-07 10:07:04 · 142 阅读 · 1 评论 -
rpc和restful的区别
restful采用标准的数据格式,异构的客户端与服务器通信方便;RPC整个请求的方法对客户端不可见,异构的客户端与服务器通信比较难;转载 2020-03-06 09:40:45 · 349 阅读 · 0 评论 -
停止线程有三种方法
1.使用退出标志,比如while(!exit) ,使线程正常退出,也就是当run方法完成后线程终止。2.使用interrupt方法中断线程。 线程在阻塞状态3.不建议使用stop()线程分为两种:1.用户线程2.守护线程,用setDaemon(true)方法设置为守护线程...原创 2020-03-05 17:15:49 · 241 阅读 · 0 评论 -
synchronized和lock锁的总结
线程不安全的问题怎么解决?synchronized和lock都能解决线程不安全的问题一、synchronized三种同步方式:同步代码块(使用自定义明锁)、同步函数(使用this锁)、同步静态函数(使用字节码文件,即类.class)synchronized使用的有哪些关键字呢?wait()、notify()、notifyAll()是三个定义在Object类里的方法,可以用来控制线...原创 2020-03-05 16:23:33 · 224 阅读 · 0 评论 -
多线程通讯
使用标志位flag进行共享资源,避免读取数据的重复性。可以使用wait,即当前线程等待,类似于sleep,可以让当前线程处于休眠状态,和synchronized同时使用,注意wait可以释放锁,而sleep不能释放锁;wait必须和synchronized同时使用,配合 notify 进程状态的唤醒,标志位的切换,因为wait和notify都是在Object类中定义的。参考代码:...原创 2020-03-05 11:52:11 · 115 阅读 · 0 评论 -
多线程总结
一、基本认识同步(单任务执行):下一个任务必须等上一个任务执行完才执行异步(多任务执行):原创 2020-02-29 16:26:07 · 126 阅读 · 0 评论 -
通过自定义注解完成类似orm对象关系映射
代码有四个组成,分别为:main、userEntity、SetTable、SetPropertitypackage com.wang.annotation;import java.lang.annotation.Annotation;import java.lang.reflect.Field;/** * * @methodDesc: 功能描述:(使用java自定义注解,模...原创 2020-02-27 12:18:38 · 227 阅读 · 0 评论 -
JAVA 反射机制
什么是反射?简言之就是把.class文件转换为java认识的形式,通过反射机制访问类的方法,属性,和构造函数。即 1,反编译:.class-->.java2.通过反射机制访问java对象的属性,方法,构造方法等;反射机制适应场景?创建一个对象可以通过new的形式,但有没有不通过new形式创建对象的呢?答案是反射机制,如jdbc连接数据库使用Class.forname(...原创 2020-02-23 17:10:55 · 87 阅读 · 0 评论 -
内置注解与自定义注解
jdk1.5版本新增注解、泛型、并发包(并发编程)原创 2020-02-26 11:09:56 · 169 阅读 · 0 评论 -
domain理解
如下图: domain层中保存了需要返回的数据类,即调用某个服务的某个方法,从数据库中查到的数据保存成DeviceOrgInfo类型,或者list<DeviceOrgInfo>原创 2020-01-18 09:34:28 · 1059 阅读 · 0 评论 -
list列表循环jdk8新版本写法
原代码:for(int i=0;i<deviceOrgInfoList.size();i++){ // 查询前端设备授权人 String devSn = req.getDevSn(); TAppUserLoginEntity tAppUserLoginEntity = appUserLoginService.getOne(devSn); ...原创 2020-01-16 11:54:21 · 692 阅读 · 0 评论 -
Intellij IDEA运行报Command line is too long解法
参考https://blog.youkuaiyun.com/ZXJ_1223/article/details/80611089转载 2020-01-15 10:43:55 · 130 阅读 · 0 评论 -
idea JPA写法
无参数查询: //无参的查找 @Query("select id,folderName from FolderEntity ") public List<FolderEntity> findIdAndFolderName();查找方法可以使用自定义findIdAndFolderName()调用,也可使用findAll()及jdk8新方法使用:...原创 2020-01-08 11:35:57 · 806 阅读 · 0 评论 -
idea导入工程项目模块步骤
1.2.选择pom.xml3.如果有多个service,包含eureka,首先需要build,build时可能需要选择sdk,选择自己安装的java版本,编译完成后,在idea右下脚会出现发现多个service的提示,点击将其加入服务即可运行。4.如果发现某个服务没有加载过来比较一下这里,删除后重新导入,注意jdk5.发现服务有问题时,怎么办?如下:分析...原创 2019-12-23 18:22:05 · 2775 阅读 · 0 评论 -
idea中git的下拉、提交、切换分支、合并代码
以github仓库为例子,也可以是gitLab私有仓库从远程拉代码:clone提交代码:1.add2.commit/commit and push,从工程中某个文件或者在右上角找到对应的按钮。首次提交会出现创建远程库名字切换分支切换分支使用checkout,首先从远程分支切换开始,将远程master切换至本地develo...原创 2019-12-29 00:47:13 · 4828 阅读 · 0 评论 -
前端页面调接口调试
原创 2019-12-25 10:13:00 · 2774 阅读 · 0 评论 -
idea spring boot项目jdbc连接mysql数据库
注意事项:1.不能在SpringbootApplication中测试main函数;2.可以在Controler中新建main函数,右键debug测试;3.使用Statement连接成功参考:https://blog.youkuaiyun.com/qq516071744/article/details/86499027...转载 2019-12-10 20:51:45 · 855 阅读 · 0 评论 -
Maven项目的setting配置文件
参考:https://blog.youkuaiyun.com/weixin_44306005/article/details/92761778转载 2019-12-06 14:43:56 · 163 阅读 · 0 评论 -
java中批量下载图片(httpClient)
参考:https://blog.youkuaiyun.com/jasnet_u/article/details/80837229略有改动为pom.xml配置,修改后如下:<dependencies> <dependency> <groupId>commons-io</groupId> <artifactI...转载 2019-12-06 14:35:09 · 468 阅读 · 0 评论 -
idea 中新建java类测试jar包依赖管理
刚开始以为是包过期,后面发现是pom.xml中没有设置正确,正确设置需要添加<dependencies></dependencies>;添加commons-io、org.apache.httpcomponents依赖,没有下载成功时需要多进行尝试,尤其是clean,install<dependencies> <dependency>...原创 2019-12-06 14:27:06 · 691 阅读 · 0 评论 -
idea关联mysql时报错Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezon'
解决办法:1.进入命令窗口(Win + R),连接数据库mysql -uroot -p,回车,输入密码,回车,输入:show variables like'%time_zone';如图:2.设置北京时区,set global time_zone='+8:00';正常情况如下:这时你重新连接下数据库,也许能连接成功!ps:当数据库在执行其他任务时,set global time...原创 2019-12-04 18:20:17 · 9600 阅读 · 1 评论 -
idea使用快捷键总结
对比修改文件:1.CTRL+F12查看文件列表(File Structure)2.Ctrl+N 搜索3.Ctrl+空格 补全4.SHIFT+F6重命名5.CTRL+B查看类的声明还可以直接按住:CTRL再点击鼠标(和eclipse的用法一样)6.CTRL+D换行并复制7.CTRL+Y删除当前行8.万能快捷键 atl+ent...原创 2019-11-20 10:30:35 · 193 阅读 · 0 评论