Java
文章平均质量分 50
嘀嘀嘀
金牌28号技师
记录的不仅仅是代码,也是一个普通人的生活.
展开
-
实习生踩坑之IDEA打Jar包
今天领导让我把项目的热更资源跑起来,我心想不就是打个Jar包嘛,就这??于是我开始我“看似熟练”的操作。。。结果因为需要把Jar包放在用户服务器下面,折腾我老半天。废话少说,上操作!(因为公司商业代码不能发到互联网上,所以我这里随便建一个工程。)第一步: 打开菜单栏File-Project Structure第二步:2. 点击Artifacts,点击 "+" - JAR - From module with depenencies,选择要打成Jar包的Module。第三步:这是最重要且最原创 2022-03-22 23:16:07 · 320 阅读 · 0 评论 -
详解程序设计七大原则
本篇文章基于尚硅谷课堂《Java设计模式》个人总结。本篇文章先介绍单一职责和接口隔离职责。设计模式介绍:在企业开发流程中,设计模式是保证系统稳定性、可扩展性、可维护性的重要因素,设计模式可以理解为在软件设计中对于普遍存在的或反复出现的问题的解决方案,它能够使系统更加牢固可靠。如果你想成为一个合格的软件开发工程师,设计模式是一堂必修课。设计模式七大原则有:单一职责原则、接口隔离原则、里氏替换原则、开闭原则、依赖倒置原则、迪米特法则、合成复用原则。单一职责原则比如说对于一个类,一个类或一原创 2022-04-23 18:20:42 · 3355 阅读 · 0 评论 -
交替输入字符数组问题详解——多线程解法
有两字符数组,交替打印两字符数组中的元素。原创 2021-11-21 22:04:12 · 92 阅读 · 0 评论 -
Java 基础 - 知识点本文主要对Java基础知识点进行总结。
我们希望将这两个对象当成一样的,只在集合中添加一个对象,但是因为EqualExample没有实现hasCode()方法,因此这两个对象的散列值是不同的,最终导致集合添加了两个等价的对象。因此在方法中改变指针引用的对象,那么这两个指针此时指向的是完全不同的对象,一方改变其所指向对象的内容对另一方没有影响。例如在作为网络连接参数的情况下如果String是可变的,那么在网络连接过程中,String被改变,改变String对象的那一方以为现在连接的是其它主机,而实际情况却不一定是。...原创 2022-07-14 20:57:50 · 64 阅读 · 0 评论 -
面试热点之快速排序
1.快速排序简介快速排序在十大排序中的时间空间复杂度都较低,其思想是在一趟排序中把将要排序的数据分成两个独立的部分,对这两部分进行排序使得其中一部分所有数据比另一部分都要小,也就是选出一个数mid,让mid的左边元素都比它小,右边的元素都比它大,然后继续递归排序这两部分,最终实现所有数据有序。比如我们先选择第一个数作为参考值,从右边最后一个数开始逐个对比:如果右边的数比它大,这直接将索引左移即可(如图第二步),反之,将右边的数覆盖左边的值(参考值会事先备份),然后左边的索引右移(如图第三原创 2022-05-25 01:00:12 · 117 阅读 · 0 评论 -
哲学家用餐问题——多线程死锁问题
哲学家就餐问题可以这样表述,假设有五位哲学家围坐在一张圆形餐桌旁,做以下两件事情之一:吃饭,或者思考。吃东西的时候,他们就停止思考,思考的时候也停止吃东西。餐桌中间有一大碗意大利面,每两个哲学家之间有一只餐叉。因为用一只餐叉很难吃到意大利面,所以假设哲学家必须用两只餐叉吃东西。他们只能使用自己左右手边的那两只餐叉。哲学家就餐问题有时也用米饭和筷子而不是意大利面和餐叉来描述,因为很明显,吃米饭必须用两根筷子,这样可描述为多线程争夺资源的问题。...原创 2021-11-21 21:35:11 · 421 阅读 · 0 评论 -
springCloud集成Nacos+Feign引发的异常IllegalArgumentException
异常:java.lang.IllegalArgumentException: Unknown class to load com.alibaba.c loud.nacos.ribbon.NacosRule for class interface com.netflix.loadbalancer.IRule named userservice (服务名称)我也是找半天一头雾水,Nacos和Feign的配置都没有问题,突然想到二者都有负载均衡的功能,而我之前的nacos负载均衡策略写在appli原创 2022-05-09 15:43:06 · 987 阅读 · 2 评论 -
提高大数据量Sql插入方法(批处理指令)
提高大数据量Sql插入方法(批处理指令)原创 2022-11-19 00:41:38 · 1274 阅读 · 1 评论 -
Java 基础 - 面向对象
下面的代码中,乐器类(Instrument)有两个子类Wind和Percussion,它们都覆盖了父类的play()方法,并且在main()方法中使用父类Instrument来引用Wind和Percussion对象。以下Person类封装name、gender、age等属性,外界只能通过get()方法获取一个Person对象的name属性和gender属性,而无法获取age属性,但是age属性可以供work()方法使用。...原创 2022-07-14 20:30:52 · 81 阅读 · 0 评论 -
Java实习生之git踩坑日记
事情的经过是这样的,昨天下班忘记关电脑了,结果今天早上来拉最新的master节点,拉到一半就卡在一个地方,然后就一直处于done状态,我以为拉的比较慢,结果卡了半个多小时(这半个小时趁机摸鱼🐟),喝完咖啡回来依然没动,突然感觉有种不祥的预感。。。。然后开始请教同事,各种百度,把项目重新clone一遍都没有效果,把公钥更新一遍也不行,最后无奈使出最后一招——重装git,完美解决!最后赠上我的总结,重装可以解决80%的问题,如果你的工具突然遇到邪门的问题,别犹豫,重装!!!...原创 2022-03-16 21:55:40 · 793 阅读 · 1 评论 -
关于 Redis可视化工具Redis Desktop Manager连接时Connection refused
今天在Linux上部署redis的时候发现在Windows上无法访问Redis服务,如利用Redis Desktop Manager工具无法访问。关于网上的解答都尝试了一遍还是不行,人已裂开。网上的解决方案是先进入redis.conf的编辑界面,开启protectedmode为yes并配置password(端口默认6379)编辑conf文件:设置protected-made 为no,protected-made为redis的自我保护机制,为yes的话只允许本机登录。...原创 2022-05-13 02:51:26 · 796 阅读 · 0 评论 -
JUC之LockSupport,Condition
Condition具有 精准的通知和唤醒线程的功能,Condition是个接口,基本的方法就是await()和signal()方法;Condition依赖于Lock接口Conditon中的await()对应Object的wait();Condition中的signal()对应Object的notify();Condition中的signalAll()对应Object的notifyAll()。----------------------------------------------------------原创 2022-07-09 14:45:51 · 114 阅读 · 0 评论 -
JUC之Fork分治
假如我们要计算从一到1000的和,一般用单线程就可以完成,那么假如我们要计算从1到9999999999999999的和,CPU可能就会扛不住,那么这就需要用多线程去做,JUC下的ForkJoinPool可以很高效地解决此类问题,我们可以先弄一个线程执行1~125的结果,另一个线程执行126~500的结果,以此类推,效率就会增加很多。下面是代码:运行结果:这样一个线程只负责125的计算量,大大提高了效率。...原创 2022-07-09 14:31:37 · 114 阅读 · 0 评论 -
JUC之Semaphore信号量
Semaphore(信号量) 是一个计数信号量,它的本质是一个“共享锁“。信号量维护了一个信号量许可集。线程可以通过调用 acquire()来获取信号量的许可;当信号量中有可用的许可时,线程能获取该许可;否则线程必须等待,直到有可用的许可为止。 线程可以通过release()来释放它所持有的信号量许可。 下面我们还看一段小程序:运行结果:在程序中我只放了两个“通行证”,也就是说只有两个线程能够同时进入代码块,另外一个线程没有获取到信号量,就会处于阻塞状态。在以往的多线程案例中,我们一般只允许一原创 2022-07-09 14:19:43 · 283 阅读 · 0 评论