- 博客(64)
- 资源 (2)
- 收藏
- 关注
原创 重点大学的门槛终于被打破了
今年高招发生了一件大事211大学:太原理工在2024年的高考招生安排了 8880 人的招生计划而单单软件工程专业就有 1795 人的名额占了全部招生量的 20%并且面向区域仅仅是山西省除此之外还有 计算机科学与技术 165 人物联网工程 80人数据科学与大数据技术 90人网络空间安全 120 人人工智能 120 人这些信息化相关专业我们现在的行业结构有很多的业内工作人员都是转行过来的很多不好就业的专业都通过IT培训的方式成为了一名光荣的程序员既然不好就业。
2024-10-24 10:41:04 339
原创 你还没用过自动化代码审计吗
自从AI技术发展以来一直有一种说法AI将替代程序员的岗位各大厂商提供的大模型基本上都涵盖了编程辅助功能有如阿里达摩院甚至还推出了通义灵码编程助手以及工号 AI001 的虚拟员工不禁有人要问我还能干到35岁吗实际操练使用之后我对AI编程的评价是可以解决一些问题,例如算法实现但针对具体业务的代码实现还是有一些问题的需要程序员进行人工甄别。
2024-10-11 17:45:56 846
原创 TCP是如何保证可靠传输的
又到了金九银十的时间点了,随着一年又一年的大学生的毕业,技术门槛的降低,培训班老师们的幸苦奋斗,让我们的脚步停不下来,根本停不下来了。这次给大家带来的一篇关于TCP如何可靠传输的面试文,会带着各位,探索从最表面的面试回答,到该知识的花式问法。TCP(传输控制协议)通过多种机制来保证数据传输的可靠性,这些机制包括连接管理、校验和、序列号、确认应答、超时重传、流量控制和拥塞控制等。连接管理:TCP通过三次握手(Three-Way Handshake)建立连接,确保通信双方都准备好进行数据传输。
2024-09-23 14:38:14 1033
原创 在Java中 String能存储多少个字符?
然而,对于一些不常用的字符或扩展字符集中的字符,UTF-16可以使用一对4个字节的序列来表示,即所谓的代理对(surrogate pair)。关于String能存储多个字符,这个是面试者在面试中经常被提及的问题,这个问题可以问的很浅,也可以问的很深,具体看面试官看了你的简历后,对你的能力有什么样的看法,今天,我们就这个问题,深入的了解一下。总结:在Java中,String类型在编译阶段的最大长度为65534个字符,而在运行时理论上可以存储约2GB的字符,但实际可用长度会受到系统资源和JVM实现的限制。
2024-09-23 14:35:41 1003
原创 Spring如何既返回实体同时下载文件
你可以将文件内容以Base64等方式编码后作为字符串嵌入到返回的实体中。客户端需要解码这个字符串以获取原始文件内容。这种方法适用于文件内容较小的情况。// 填充其他所需信息客户端收到响应后,需要解码这个字段来获取原始文件内容。
2024-08-28 08:27:42 478 2
原创 Stream流在日常开发中的使用
Java 8 引入的 Stream API 提供了丰富的功能,使得对集合数据进行处理变得更加简洁和高效。Stream API提供了丰富的方法来操作数据流,其中包括了mapflatMapfilter等常用方法。这些方法使得对集合数据进行转换、过滤、分组、排序等操作变得简单而直观。了不起整理了日常开发中经常使用到的方法,帮助老铁们更好地理解和运用Java 8 Stream API。
2024-08-28 08:26:20 484
原创 都在说计算机行情不好,却很少人说因为什么
随着高考的落幕,我的表妹急切地向我咨询专业选择的问题。以往,对于那些对未来迷茫、缺乏特定兴趣的学生,我会毫不犹豫地推荐计算机科学·。毕竟在这个科技日新月异的时代,掌握一些计算机技能无疑是明智的选择。记得张老师曾说过,计算机是寒门子弟改变命运的最佳途径,直至疫情爆发前,这确实是一个不争的事实。
2024-08-28 08:24:40 402
原创 请大家尊重一下HR
又到一年毕业季企业开始了新的招聘计划跳槽的、毕业生也跃跃欲试这个时间是收到简历最多的时段大致清点了一下我在最近3月份大约浏览了800份简历约面试的300人左右行业内卷,水涨船高有的简历质量上来了但还有很多都是浑水摸鱼甚至一周工作结束后我都会痛心疾首妈蛋我居然浪费了那么多时间消耗在不必要的废话上面。
2024-08-23 18:14:54 379
原创 英语四六级有多重要你不知道
IT业内卷严重大家都知道因此也就打击了很多想入行的新人到底什么是核心竞争力放在十年前稍微会Spring, CRUD 就能达到入门的台阶那也是培训机构最繁荣的一段时期而今顶峰已经过去IT业从含金量上已经大不如前在野蛮发展期如果不太挑的话大专也是能找到工作的再怎样也属于比较高的收入但今不比昔十年间大量新人涌入了职场因此企业也开始了挑挑拣拣。
2024-08-23 18:13:00 421
原创 培训班和科班出生有什么区别
每到毕业季总有大量萌新走进职场IT圈子的程序员有的是科班出生比如 计算机科学与技术、软件工程、大数据技术有的是相关专业出生的比如 信息安全、网络工程、物联网工程等等除此之外还有各种其他专业转行过来的文理不限、专业不限科班出生的未必强过半路出家我见过优秀的程序员有食品、体育、外语、数学等专业最神奇的见过一个地雷爆破与破障工程专业的小哥技术其实都是可以学的做任何事情其实主要看三个要素机会、努力、天赋。
2024-08-23 18:11:34 402
原创 GPT的token是怎么计算的
自从ChatGPT横空出世计算机进入了AI时代国内也诞生了不少优秀的替代品讯飞系、通义系、文心等等国内排名最高的阿里通义720亿参数的模型Qwen-72B力压Llama 2等国内外开源大模型登顶Hugging Face的开源大模型排行榜首包括C-Eval、CMMLU、Gaokao-Bench、AGIEval等参数更是超过了GPT-4随之而来各个厂商也开启了AI应用接入的服务比如讯飞星火早在1.0、1.5版就提供了API接入的方式后续各个厂商也逐步对齐讯飞注册的时候。
2024-08-21 08:31:43 629
原创 ClassLoader深入探索
在自定义 ClassLoader 之前,我们需要了解 Java 类加载器的工作原理。Java 类加载器遵循所谓的“双亲委派模型”。简单来说,当一个类加载器收到类加载请求时,它会先将这个请求委托给父类加载器去完成,只有在父类加载器无法完成请求时,自己才会尝试去加载这个类。这种模型确保了 Java 核心库的稳定,并避免了类的重复加载。然而,这也限制了我们在某些情况下对类的加载方式的控制。为了打破这个限制,我们可以创建自己的类加载器。要自定义一个 ClassLoader,我们需要继承findClass和。
2024-08-21 08:28:42 290
原创 Java堆和栈的区别
Java堆和栈作为Java虚拟机内存管理的重要组成部分,在存储方式、内存特点、垃圾回收机制和使用场景等方面有着显著的区别。理解这些区别可以帮助我们更好地编写高效、稳定的Java程序。在实际开发中,需要根据程序的特性和需求选择合适的数据结构和算法,合理地利用堆和栈的优势来提高程序的性能和稳定性。同时,也需要关注堆和栈的使用情况,避免出现内存溢出或者资源过度消耗的问题。
2024-08-21 08:27:11 853
原创 Java的LinkedHashMap 源码解析
LinkedHashMap 是一个有序的 Map,它维护元素的有序性,可以按照插入顺序或访问顺序排列元素。这个有序性是通过维护一个双向链表来实现的。另外,LinkedHashMap 提供了参数来决定是否在访问元素时移动元素,以实现 LRU 缓存功能。这使得 LinkedHashMap 成为一个非常有用的数据结构,适用于需要有序性和缓存功能的场景。
2024-07-19 08:42:04 843
原创 Java的HashSet源码分析
在编程的世界里,有一种神奇的工具,它小巧却强大,灵活而可靠,它就是 HashSet。然而,你是否曾经好奇过,这么强大的工具,其背后的实现原理是怎样的呢?今天,让我们一起揭开 HashSet 源码的神秘面纱,探索这个 Java 世界中的神奇数据结构。首先,我们需要明白,HashSet 并不是一个简单的集合,它是基于哈希表实现的一种集合。哈希表是一种数据结构,通过哈希函数将元素映射到数组的一个位置,实现快速的查找。而 HashSet 则在此基础上,增加了一些额外的功能,使得它在存储和查找元素时更加高效。
2024-07-19 08:40:44 1011
原创 Fork_Join模式:分治和Work-Stealing的完美结合
Work-Stealing通过允许空闲的处理器主动从其他处理器“偷取”任务来解决这个问题,保持了负载的均衡,提高了整体并行计算的效率。Fork/Join模式以其独特的分治和Work-Stealing结合的方式,成为解决可分解并行问题的一项卓越选择。Fork/Join模式的核心之一是分治思想,这是一种通过将问题分解成更小、更容易解决的子问题来求解复杂问题的策略。在选择使用Fork/Join模式时,开发者应当注意任务的划分和合并逻辑,确保适用于分治思想和Work-Stealing机制的问题结构。
2024-07-18 08:52:12 718
原创 使用Fork_Join模式解决可分解并行问题
使用Fork/Join模式时,需要仔细评估问题的特性,并选择合适的并行编程模型。我们可以将数组分成两半,分别计算每一半的总和,然后将这两个部分的结果相加,从而得到整个数组的总和。Fork/Join模式的优势在于它能够充分利用多核心架构,提高任务的并行度,从而加速程序的执行。ork/Join模式的原理和应用,我们能够更好地应对并发编程的挑战,提高程序的性能和效率。这是一个简化的例子,实际上,Fork/Join模式可以处理更复杂的任务分解和合并逻辑。方法是一个阻塞方法,会等待任务执行完成并返回结果。
2024-07-18 08:51:13 508
原创 如何开发一个大模型应用
随着人工智能技术的快速发展,大模型应用已成为许多领域的核心竞争力。大模型应用通常指的是基于大规模数据集训练得到的深度学习模型,具有强大的特征表示能力和泛化性能。本文将详细介绍如何开发一个大模型应用,包括模型设计、数据准备、训练和部署等关键环节。
2024-07-16 08:43:08 689
原创 自定义 Java ClassLoader:深入探索
在自定义 ClassLoader 之前,我们需要了解 Java 类加载器的工作原理。Java 类加载器遵循所谓的“双亲委派模型”。简单来说,当一个类加载器收到类加载请求时,它会先将这个请求委托给父类加载器去完成,只有在父类加载器无法完成请求时,自己才会尝试去加载这个类。这种模型确保了 Java 核心库的稳定,并避免了类的重复加载。然而,这也限制了我们在某些情况下对类的加载方式的控制。为了打破这个限制,我们可以创建自己的类加载器。要自定义一个 ClassLoader,我们需要继承findClass和。
2024-07-16 08:39:28 503
原创 Java `loadClass`与`forName`方法的比较分析
在Java编程中,类的加载是一个基础而关键的概念。开发人员经常需要在运行时加载类,无论是为了动态地扩展应用程序的功能,还是为了延迟加载某些资源密集型的类。Java提供了几种方法来实现这一点,其中loadClass和forName是最常见的两种。本文将对这两个方法进行比较分析,探讨它们的使用场景和潜在的差异。loadClass。
2024-07-15 16:17:56 333
原创 讯飞星火通过API接入
如果你想暴富可以关注一下科大讯飞看看它的股票走势每次讯飞星火发布新版本的时候都掀起了一个小涨停科大讯飞作为国内领先的人工智能企业常年以来积累的优势包括智能客服、语音识别、机器翻译等多场景的大量应用铺垫了海量的训练数据除了传统的新闻、小说、论文更多的是在学习和理解人类语言方面有着巨大的优势。
2024-06-25 18:35:31 815
原创 HashMap源码解析
在编程的世界里,有一种神奇的工具,它小巧却强大,灵活而可靠,它是Java中最常用的数据结构之一,它就是HashMap。然而,你是否曾经好奇过,这么强大的工具,其背后的实现原理是怎样的呢?今天,让我们一起揭开HashMap源码的神秘面纱,探索这个Java世界中的瑞士军刀。首先,我们需要明白,HashMap并不是一个简单的哈希表,它是一个基于哈希表实现的Map接口的子类。哈希表是一种数据结构,它通过哈希函数将键值对映射到数组的一个位置,从而实现快速查找。
2024-06-25 18:30:03 876
原创 优秀的程序员一个顶十个
深入研究底层源码,JVM,Spring,Vue...”SQL、JS、Python 或多或少都有一些。写 if("aaa") 就会认为是true。说你这程序怎么永远会执行 if true。我看他打开的简洁的 jQuery 源码。比如JavaScript之类的弱语言。每个语言都有这样的一些不为人知的陷阱。此时屏幕映出了小哥精心制作的界面。编程领域里面有些东西是心照不宣的。问这哥们代码风格怎么是这样的?而大量功利性的学习者往往会忽略。可以顶100个普通主播的营业额。浮躁的人,往往第一关就过不去。
2024-06-24 17:35:20 390
原创 远离不写注释的程序员
这仿佛成了一个死循环大家都有过这样的经历灵感上来了,疯狂敲代码大几百行写完真有成就感但是队友不高兴了没注释看不明白所以,现在是否写注释已经从行业约束问题降低到最基本的道德问题了。
2024-06-24 17:27:31 319
原创 Java多线程中synchronized如何使用
当执行monitorenter指令时,当前线程将试图获取objectref(即对象锁) 所对应的monitor的持有权,当objectref的monitor的进入计数器为0,那线程可以成功取得monitor,并将计数器值设置为1,取锁成功。这里我们未看到任何的monitor相关的指令,其实方法级的同步是隐式的无需通过指令来实现,出现在flags中的ACC_SYNCHRONIZED标志,即可用来区分方法是否同步。通过让线程处于忙循环等待锁释放,期间不出让CPU,减少线程的切换,该锁在JDK4就被引入。
2023-09-20 09:10:08 171
原创 餐馆的redis缓存击穿是怎么回事
原本准备的辣椒,土豆,食用油,Q弹肥肠,大蒜,香菜,梅菜,大片五花肉,莴笋,海带,胡萝卜等基础食材大量匮乏,只有获得锁的线程才去访问数据库并将数据回写到缓存这样后期有其他线程来查询这个key就有缓存了,店家原本准备的土豆烧肥肠,梅菜扣肉,凉拌三丝,黑豆花早就被一扫而空,可能在延时的这1秒或者2秒后面就已经把数据取过来放在redis里了,这个现象就像是在多个key在同一时刻(比如零点)发生过期,店家会一个订单接着一个订单的处理这么多食客的需求,但突然或者某个时刻大量的key在缓存中失效了,
2023-09-20 09:08:07 125
原创 Java内存模型(JMM)是什么
多核CPU和高速缓存在,导致了缓存一致性问题,通过缓存一致性协议解决。各个操作系统都有各自内存模型,对CPU高速缓存与缓存的读写访问过程进行抽象。Java语言作为运行在操作系统层面的高级语言,为了解决多平台运行的问题,在操作系统基础上进一步抽象,得到了 Java 语言层面上的内存模型。
2023-09-19 08:54:30 104
原创 SpringBoot中的DDD领域驱动设计
面向数据建模,面向过程编程,没有真正“面向对象”只注重结果,不注重过程,service层动辄数百上千行,充斥着过程代码、胶水代码,要么臃肿、要么流水账、要不重复、要么逻辑分散,后期极难维护代码耦合严重,层与层之间互相调用、逆向调用,牵一发而动全身代码无法体现业务,在大家都不爱写注释的情况下,随着时间的推移,代码业务逻辑将无人理解,不敢改也改不动。那么有没有一个好的解决方案呢?DDD就是一个不错的选择。
2023-09-18 15:19:58 438 1
原创 ChatGPT逐字推送的秘密
ChatGPT 采用 Server-sent events(SSE)协议,是因为 SSE 提供了一种简单、可靠、高效的服务器推送技术,可以实现实时通信,而且不需要客户端发起请求,可以节省带宽和服务器资源。SSE 是一种基于 HTTP 协议的服务器推送技术,它允许服务器向客户端发送单向的、实时的、持久的数据流,而客户端只需要通过一个简单的 EventSource 接口进行监听和处理即可。
2023-07-20 08:32:03 184
原创 通过开发日志记录来学习AOP
我们先了解一下,AOP一般常见场景,AOP的使用,更多用于日志场景、一般被用于日志诊断上下文,比如logback映射辅助上下文,或者用于辅助信息,比如方法执行时间,我们经常会在方法执行前获取一个时间,方法执行后获取一个时间,前者减去后者得到这个方法执行的时间。做过Web平台的,基本都清楚,大多数的Web平台都会需要记录接口调用的记录,不要小看它,认为它似乎没什么用,很多的个人习惯就是通过这种方式小成本的被挖掘出来。的完成一个接口日志的记录,建议刚入行的新人,看完亲手敲一遍。这次介绍的是,如何通过AOP来。
2023-07-20 08:29:13 68
原创 用Java的OSGi框架构建灵活模块化应用
OSGi是一种面向服务的模块化框架它将应用程序划分为多个独立的、可重用的模块每个模块被称为一个bundle每个bundle都有自己的生命周期、类加载器和依赖管理机制OSGi框架提供了动态部署、服务导向、类加载隔离和生命周期管理等关键特性使得应用程序更具灵活性和可维护性。
2023-07-20 08:26:54 554
原创 Java代理agent技术解密:揭秘方法计时器的神奇实现
在Java中,"agent"是指Java代理技术,它允许开发人员在应用程序运行时动态地修改、监视和分析Java应用程序的行为。Java代理技术是Java的一项高级特性,它允许开发人员在运行时通过代理程序来检测和修改Java应用程序的字节码。
2023-06-19 17:12:30 152
原创 最常用的四个Java函数式接口
函数式编程成为了Java编程中的一大趋势,Java 8中引入了函数式接口,使得函数式编程更加容易。了解以上这些内置的函数式接口,基本在日常开发中80%的场景都可以满足了,如果对自己有更高的要求,推荐大家把java.util.function包下的接口都熟悉一下。在这个例子中,我们定义了一个函数式接口MyFunction,该接口只有一个抽象方法run()。Function 是一个函数式接口,它接受一个参数并返回一个结果。Supplier 是一个函数式接口,它不接受任何参数,但返回一个结果。
2023-06-16 11:42:51 645
原创 如何用函数式接口重构常见模式
但是,在Java 8中,我们可以使用Lambda表达式和函数式接口来实现更简单和更直观的策略模式。在Java中,回调函数通常被实现为接口,该接口只有一个方法,该方法在异步操作完成时被调用。但是,在Java 8中,我们可以使用Lambda表达式和函数式接口来实现更简单和更直观的映射。总的来说,使用Lambda表达式和函数式接口可以简化代码,使代码更加直观和易于理解。但是,在Java 8中,我们可以使用Lambda表达式和函数式接口来实现更简单和更直观的过滤器。
2023-06-05 09:48:27 135
原创 Java如何提前终止for循环
如果我们需要在循环中终止并抛出异常,我们可以使用自定义异常。我们可以在循环中使用try-catch块来捕获自定义异常,并在需要时抛出该异常。
2023-05-18 16:06:35 1630
音乐下载MP3无损flac免费下载工具
2024-10-11
Java和itext7实现的pdf文件签章
2023-06-19
使用SonarQube导出pdf分析报告
2023-06-19
区块链的基础功能简易版Java实现
2023-06-16
Java国密电子签章的实现SM2
2023-06-16
国产密码算法SM1234Java实现不依赖外部包
2023-06-16
30分钟用GPT创造属于自己的虚拟形象
2023-05-16
Python爬虫抓取小说网站的基本方法
2023-04-19
简历模板Python程序员求职履历格式范例
2023-04-19
Python操作MongoDB教程
2023-03-29
MagicAPI的项目样品SpringBoot程序
2023-03-17
大学线性代数课程教材整理
2023-03-17
在Java中优雅而简洁的创建对象的方法总结
2023-03-17
MySQL笔试题一条语句解决问题多表联查聚合查询
2023-03-16
软考答题卡初级中级高级含三个级别考试选择主观论文可打印
2023-03-01
SQL基础面试题,一条语句解决问题
2023-02-24
软考高级论文写作技巧和范文
2023-02-23
软考高级系统架构设计师学习笔记及思维导图
2023-02-23
软考系统架构设计师考试真题及解析参考答案
2023-02-23
安卓android免费无广告电子书阅读器Moon+Reader
2023-01-26
免费远程桌面软件AnyDesk 7.17 Windows版、Android版、Mac版居家办公远程协助
2023-01-14
微软应用商店连接失败修复工具
2023-01-14
Android界面UI设计器
2012-09-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人