java
文章平均质量分 55
WeChat——E
这个作者很懒,什么都没留下…
展开
-
java面试题,上楼梯有多少种方式
然而,这里的递归是一个头递归,也就是说要先递归再回溯(编译器无法将其优化为一个循环结构),而且是将三个递归的结果进行合并,这样的话算法的运行时间呈指数增长(渐近时间复杂度为O(3^N))。题目:一个小孩上一个N级台阶的楼梯,他可以一次走1阶、2阶或3阶,那么走完N阶有多少种方式。java面试题,上楼梯有多少种方式。原创 2023-12-05 15:56:13 · 796 阅读 · 0 评论 -
java开发之个微群聊自动添加好友
测试地址:https://wkteam.cn/原创 2023-11-30 16:09:38 · 596 阅读 · 0 评论 -
SpringBoot几个常用的注解
(3)@EnableAutoConfiguration和@SpringBootApplication是类级别的注解,根据maven依赖的jar来自动猜测完成正确的spring的对应配置,只要引入了spring-boot-starter-web的依赖,默认会自动配置Spring MVC和tomcat容器。(6)@ImportResource类级别注解,当我们必须使用一个xml的配置时,使用@ImportResource和@Configuration来标识这个文件资源的类。原创 2023-11-30 16:08:03 · 443 阅读 · 0 评论 -
java常用的设计模式汇总,超详细!
之前学代理模式的时候,去网上翻一下,资料一大堆,打开链接一看,基本上都是给你分析有什么什么角色,理论一大堆,看起来很费劲,不信的话你们可以去看看,我是看不懂他们在说什么。(注意:我这里并不是否定理论知识,我只是觉得有时候理论知识晦涩难懂,喜欢挑刺的人一边去,你是来学习知识的,不是来挑刺的)看到没有,一层一层封装,我们从里往外看:最里面我new了一个香肠,在香肠的外面我包裹了一层奶油,在奶油的外面我又加了一层蔬菜,最外面我放的是面包,是不是很形象,哈哈~ 这个设计模式简直跟现实生活中一摸一样,看懂了吗?原创 2023-09-21 17:43:52 · 68 阅读 · 0 评论 -
e.preventdefault()别滥用
有的时候我们会为事件回调函数添加一个参数(通常是e),并在函数中加入e.preventdefault();由于习惯,我顺手将它写到了一个checkbox的change事件中。由于不同的浏览器解释不同,在IE8上出现了一个bug:change事件能进入,但是UI显示上不能讲复选框的选中状态重绘。分析原因,是我的e.preventdefault()阻止了状态重绘。checkbox 、radio的状态变化(并非所有浏览器)。原创 2023-09-18 16:11:35 · 167 阅读 · 0 评论 -
setInterval和setTimeout的区别
在制作网页动态效果时,一定会遇到某些需求,要求某段程序等待多时时间后再开始执行,就像在我们的生活中一样,待会儿再开始做一件事。在JavaScript中主要通过定时器实现此类需求,本文将对定时器做一个概括,正对setTimeout()做一个详细用法总结。原创 2023-09-12 11:50:33 · 192 阅读 · 0 评论 -
用Java怎么实现有每天有1亿条记录的DB储存?MySQL上亿记录数据量的数据库如何设计?
使用MySQL的replication是利用的冗余化,实现冗余化需要实现的最小服务器数量是4台,三台slave和一台master,slave为什么是需要三台呢,比如一台slave死机了,现在需要修复再次上线,那么意味着你必须停止一台slave来复制MySQL的数据,如果只有两台slave,一台坏了,你就必须停止服务,如果有三台,坏了一台,你复制数据时停止一台,还有一台可以运维。通过master和salve的replication,准备好多台服务器之后,让应用程序服务器通过负载均衡器去处理查询slave。原创 2023-09-11 10:56:41 · 182 阅读 · 0 评论 -
java详细安装教程(供参考)一一java(jdk)安装
Java 既安全、可移植,又可跨平台,而且人们发现它能够解决Internet 上的大型应用问题,Internet使Java成为网上最流行的编程语言,Java对Internet的影响也意义深远。java实际是个地名,乃印度尼西亚的一个岛屿,当地盛产咖啡,因此标志也用了一个咖啡的标志。如果需要更改安装的位置请安装在都是英文的路径,因为它无法识别中文和空格。3、进入Java软件界面后,找到JavaSE(标准版),进入javaSE界面。2、鼠标右键点击我的电脑(此电脑),选择属性→高级系统设置→环境变量。原创 2023-09-09 15:41:56 · 594 阅读 · 0 评论 -
java笔试题,寻找多出来的元素
利用位运算中异或运算的特点,两个相同的数异或的结果一定是0,那么将a和b中的所有元素做一次异或运算,最终的结果就是b比a多出的那个元素的值。题目:有两个数组a和b,其中b有一个元素是a没有的,其他元素都相同,请找出b中这个多余的元素。4 String s = "我爱你";原创 2023-09-08 15:42:37 · 154 阅读 · 0 评论 -
jQuery 层次选择器
包含指定对象的所有兄弟对象,无论是之前还是之后的。只包含指定对象的下一个兄弟,而不包含其上一个兄弟。(5)获取所有兄弟 siblings(“选择器”)包含指定对象以后的所有兄弟,不包含之前的兄弟。C. 再定义一些测试用的 button。所有后代,包括其直接后代及间接后代。B. 定义测试对象的 CSS 样式。siblings(),而非选择器。(3)下一个兄弟选择器(A+B)(1)所有后代选择器(A B)(2)直接后代选择器(A>B)直接后代,不包含其孙子后代等。(4)剩余兄弟选择器(A~B)原创 2023-09-05 14:03:57 · 119 阅读 · 0 评论 -
BIO、NIO和AIO
关于NIO,国内有很多技术博客将英文翻译成No-Blocking I/O,非阻塞I/O模型 ,当然这样就与BIO形成了鲜明的特性对比。NIO本身是基于事件驱动的思想来实现的,其目的就是解决BIO的大并发问题,在BIO模型中,如果需要并发处理多个I/O请求,那就需要多线程来支持,NIO使用了多路复用器机制。这是最基本与简单的I/O操作方式,其根本特性是做完一件事再去做另一件事,一件事一定要等前一件事做完,这很符合程序员传统的顺序来开发思想,因此BIO模型程序开发起来较为简单,易于把握。原创 2023-09-04 14:22:02 · 24 阅读 · 0 评论 -
Spring Bean 的生命周期,如何被管理的
如果这个Bean实现了ApplicationContextAware接口,会调用setApplicationContext(ApplicationContext)方法,传入Spring上下文,该方式同样可以实现步骤4,但比4更好,以为ApplicationContext是BeanFactory的子接口,有更多的实现方法。如果这个Bean实现了BeanNameAware接口,会调用它实现的setBeanName(String beanId)方法,此处传递的是Spring配置文件中Bean的ID。原创 2023-09-02 16:32:17 · 376 阅读 · 0 评论 -
java面试题,上楼梯有多少种方式
然而,这里的递归是一个头递归,也就是说要先递归再回溯(编译器无法将其优化为一个循环结构),而且是将三个递归的结果进行合并,这样的话算法的运行时间呈指数增长(渐近时间复杂度为O(3^N))。题目:一个小孩上一个N级台阶的楼梯,他可以一次走1阶、2阶或3阶,那么走完N阶有多少种方式。java面试题,上楼梯有多少种方式。原创 2023-08-31 15:23:15 · 100 阅读 · 0 评论 -
15个Java多线程和并发问题
我认为,这是最棒的 Java 线程面试问题之一,而且可以测试出面试者解决竞态条件的经验,或是编写无数据竞争、无其竞态条件的代码经验。并且可以根据面试者的代码问很多后续问题,如果他用 wait() 和 notify() 方法成功实现了阻塞队列,可以让他用 Java 的并发类重新实现一次。如果直接调用 run() 方法,并不会创建新线程,方法中的代码会在当前调用者的线程中执行。这是我最喜欢的 Java 多线程面试题,因为即使死锁在多线程并发编程中十分常见,许多面试者仍然抓耳挠腮,不能写出无死锁的代码。原创 2023-08-30 16:06:07 · 262 阅读 · 0 评论 -
【Java】设计模式之单例模式与工厂模式
1、设计模式概念及分类简单来说设计模式是被广大程序员们总结并认可的编码套路,其中最常用的莫过于单例模式与工厂模式,而单例模式也有更加细的分类,一起来学习一下这些模式的用法和特点吧。2、单例模式一个类只能被实例化出来一个对象2.1、饿汉式无论如何,都会创建出来一个对象 思路: 在类中直接实例化一个用来返回的对象,再为外界提供一个获取该对象的方法 缺点:有可能造成空间浪费代码解释:/**单例模式-饿汉式*/public class ClassA {//唯一的、全局的、原创 2023-08-29 14:56:01 · 904 阅读 · 0 评论 -
java高频面试题(反射、对象拷贝)
可以给这个类创建一个代理,故名思议就是创建一个新的类,这个类不仅包含原来类方法的功能,而且还在原来的基础上添加了额外处理的新类。这个代理类并不是定义好的,是动态生成的。注意:基于序列化和反序列化实现的克隆不仅仅是深度克隆,更重要的是通过泛型限定,可以检查出要克隆的对象是否支持序列化,这项检查是编译器完成的,不是在运行时抛出异常,这种是方案明显优于使用Object类的clone方法克隆对象。想对一个对象进行处理,又想保留原有的数据进行接下来的操作,就需要克隆了,Java语言中克隆针对的是类的实例。原创 2023-08-26 11:59:28 · 164 阅读 · 0 评论 -
正则表达式
组:用小括号标示,每定义⼀个小括号,就是⼀个组,⽽且有自动编 号,从1开始。只要使用组,对应的数字就是使用该组的内容。只要使用了指定符号,就可以调用底层的代码对字符串进⾏操作。符号的出现,简化了代码的书写。3,替换:其实用的就是String类中的replaceAll();3),使用Matcher对象中的⽅法即可对字符串进⾏各种正则操作。1,匹配:其实用的就是String类中的matches⽅法。2,切割:其实用的就是String类中的split⽅法。好处:正则的出现,对字符串的复杂操作变得更为简单。原创 2023-08-25 14:10:42 · 1249 阅读 · 0 评论 -
ResourceBundle使用详解
当在中文操作系统下,如果myres_zh_CN.properties、myres.properties两个文件都存在,则优先会使用myres_zh_CN.properties,当myres_zh_CN.properties不存在时候,会使用默认的myres.properties。说的简单点,这个类的作用就是读取资源属性文件(properties),然后根据.properties文件的名称信息(本地化信息),匹配当前系统的国别语言信息(也可以程序指定),然后获取相应的properties文件的内容。原创 2023-08-24 12:00:05 · 259 阅读 · 0 评论 -
Maven面试题大全及答案
得益于 Maven 的坐标机制,任何 Maven项目使用任何一个构件的方式都是完全相同的,Maven 可以在某个位置统一存储所有的 Maven 项目共享的构件,这个统一的位置就是仓库,项目构建完毕后生成的构件也可以安装或者部署到仓库中,供其它项目使用。可以说,Maven是现在Java社区中最强大的项目管理和项目构建工具,而更加值得庆幸的是,这样一个强大的工具,它的使用也是非常简单的。现在,JavaEE项目使用的开源软件都可以通过Maven来获取,并且,越来越多的公司也开始使用Maven来管理构建项目了。原创 2023-08-23 14:25:19 · 605 阅读 · 0 评论 -
ReenTrantLock可重入锁(和synchronized的区别)总结
在Synchronized优化以前,synchronized的性能是比ReenTrantLock差很多的,但是自从Synchronized引入了偏向锁,轻量级锁(自旋锁)后,两者的性能就差不多了,在两种方法都可用的情况下,官方甚至建议使用synchronized,其实synchronized的优化我感觉就借鉴了ReenTrantLock中的CAS技术。从名字上理解,ReenTrantLock的字面意思就是再进入的锁,其实synchronized关键字所使用的锁也是可重入的,两者关于这个的区别不大。原创 2023-08-22 11:33:09 · 58 阅读 · 0 评论 -
Gson与FastJson详解
String json = “{“id”:1,“name”:“金苹果”,“author”:“李伟杰”,“info”:“嘿嘿嘿嘿嘿嘿”,“price”:198.0}”;String json = “{“id”:1,“name”:“金苹果”,“author”:“李伟”,“info”:“嘿嘿嘿嘿嘿嘿”,“price”:198.0}”;对象 = new Gson().fromJson(JSON字符串,对象类型.class);类型 对象名=JSON.parseObject(JSON字符串, 类型.class);原创 2023-08-17 14:09:55 · 318 阅读 · 0 评论 -
微信开发之一键退出群聊的技术实现
【代码】微信开发之一键退出群聊的技术实现。原创 2023-08-16 15:40:27 · 313 阅读 · 0 评论 -
java面试题及答案(基础篇)
Resource默认按照名称装配,当找不到与名称匹配的bean才会按照类型装配,可以通过name属性指定,如果没有指定name属性,当注解标注在字段上,即默认取字段的名称作为bean名称寻找依赖对象,当注解标注在属性的setter方法上,即默认取属性名作为bean名称寻找依赖对象。(6)当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线程安全的。原创 2023-08-16 14:48:23 · 852 阅读 · 0 评论 -
Spring boot与Spring cloud 之间的关系
Spring boot 是 Spring 的一套快速配置脚手架,可以基于spring boot 快速开发单个微服务,Spring Boot,看名字就知道是Spring的引导,就是用于启动Spring的,使得Spring的学习和使用变得快速无痛。多个小有服务整合成的大服务,要有一个消息总线来用于互相通知和调用,要有一个服务发现程序来管理某个小服务上线可用,同时在服务离线时也要能处理,各个小服务要尽量各自独立,还要考虑服务的依赖性,集群的负载均衡,配置文件的分离。既然很多东西都是一样的,为什么还要去配置。原创 2023-08-15 14:41:04 · 608 阅读 · 0 评论 -
微信开发之一键扫码入群的技术实现
【代码】微信开发之一键扫码入群的技术实现。原创 2023-08-14 16:50:19 · 174 阅读 · 0 评论 -
cookie和session的区别及原理
存储在Server段的内存进程中的,而这个进程相当不稳定,经常会重启,这样重启的话,就会造成Session失效,用户就必须要重新登录,用户体验相当差,比如用户在填写资料,快要结束的时候Session失效,直接跳到登录页面;如果你在机器上面保存了某个论坛 cookie,有效期是一年,如果有人入侵你的机器,将你的 cookie拷走,然后放在他的浏览器的目录下面,那么他登录该网站的时候就是用你的的身份登录的。如果你能够截获某个用户的 cookie变量,然后伪造一个数据包发送过去,那么服务器还是认为你是合法的。原创 2023-08-14 16:41:02 · 105 阅读 · 0 评论 -
微信开发之一键获取标签好友的技术实现
【代码】微信开发之一键获取标签好友的技术实现。原创 2023-08-12 16:33:43 · 106 阅读 · 0 评论 -
java字符串String类的常用方法
参数:格式字符串(%d 整型占位符, %f浮点型占位符,%s 字符型占位符),动态参数值(按照格式中的占位符,依次传入对应值);//输出:[H, e, l, l, o]System.out.println(str.compareTo(“BBC”));原创 2023-08-12 15:24:00 · 174 阅读 · 0 评论 -
微信开发之获取收藏夹列表的技术实现
【代码】原创 2023-08-11 17:08:20 · 137 阅读 · 0 评论 -
js获取当前时间减一周减一个月时间
/获取系统前一个月的时间 (js当前时间减去一个月)//获取系统前一周的时间(js当前时间减去一个周)//获取系统当前时间。原创 2023-08-11 15:26:43 · 366 阅读 · 0 评论 -
Zookeeper面试题整理含答案
zookeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 google chubby 的开源实现,是 hadoop 和 hbase 的重要组件。分布式锁:zookeeper 提供两种锁:独占锁、共享锁。在分布式环境中,有些业务逻辑只需要集群中的某一台机器进行执行,其他的机器可以共享这个结果,这样可以大大减少重复计算,提高性能,所以就需要主节点。主节点选举:主节点挂掉了之后可以从备用的节点开始新一轮选主,主节点选举说的就是这个选举的过程,使用 zookeeper 可以协助完成这个过程。原创 2023-08-10 16:05:45 · 597 阅读 · 0 评论 -
java中static关键字的作用
可以对象创建后通过对象名.属性名和类名.属性名两种方式来访问。当类被第一次使用时(可能是调用static属性和方法,或者创建其对象)执行静态代码块,且只被执行一次,主要作用是实现static属性的初始化。不能访问外部类的非静态成员(变量或者方法),.可以访问外部类的静态成员。静态变量:对象名.变量名 stu1.schoolName="西二旗小学";static变量和非static变量的区别(都是成员变量,不是局部变量)static方法也可以通过对象名.方法名和类名.方法名两种方式来访问。原创 2023-08-07 14:00:22 · 84 阅读 · 0 评论 -
个人微信API
(例:营销系统、云发单助手、社群小助手、客服系统、机器人等),用来自动管理微信消息。原创 2023-07-25 15:47:09 · 112 阅读 · 0 评论 -
个人微信助手,API开发
(小程序xml需先收集入库,也就是说将想要发送的小程序手动发送给机器人微信,此时消息回调中获取xml内容,xml去掉部分仅截取appmsg开头与结尾的,具体请看请求参数示例,且xml中可以自定义任意参数,例如:携带参数的跳转地址,缩略图等)二次登录(退出微信号 需要再次登录 调用此接口即可) secondLogin。获取联系人列表(群、好友) getAllContact。检测僵尸粉 checkZombie。发送视频消息 sendVideo。发送语音消息 sendVoice。查找用户 searchUser。原创 2023-07-21 16:16:00 · 286 阅读 · 1 评论 -
JAVA基础学习 常用的api
/(数据源数组,起始索引,目的地数组,起始索引,拷贝个数)public static BigDecimal valueOf(double val)---------包装浮点数成为BigDecimal对象。//时间2022年4月9日 23:20:20 往后2天14小时03秒的时间是多少。原创 2023-07-15 17:37:59 · 65 阅读 · 1 评论 -
java笔试常见的选择题(坑你没商量)
1.已知表达式int m[] = {0,1,2,3,4,5,6};下面那个表达式的值与数组的长度相等()6.下面哪个函数是public void example(){....}的重载函数?分析:B int属于整数型应该是int=4 C应该是float f=1.1f。8.在java中,无论测试条件是什么,下列()循环将至少执行一次。7.给定某java程序片段,该程序运行后,j的输出结果为()3.以下选项中选择正确的java表达式()分析:数组的长度是.length。分析:BC定义的是新函数。原创 2023-07-14 14:29:00 · 105 阅读 · 1 评论 -
用Java怎么实现有每天有1亿条记录的DB储存?MySQL上亿记录数据量的数据库如何设计?
使用MySQL的replication是利用的冗余化,实现冗余化需要实现的最小服务器数量是4台,三台slave和一台master,slave为什么是需要三台呢,比如一台slave死机了,现在需要修复再次上线,那么意味着你必须停止一台slave来复制MySQL的数据,如果只有两台slave,一台坏了,你就必须停止服务,如果有三台,坏了一台,你复制数据时停止一台,还有一台可以运维。对于数据的处理是能放入到内存中就尽量放入到内存中如果不能放入到内存中,可以利用MySQL的Partitioning。转载 2023-07-13 15:41:26 · 306 阅读 · 1 评论