- 博客(50)
- 资源 (7)
- 收藏
- 关注
原创 机器学习之sklearn基础教程
在这篇技术博客中,我将介绍机器学习中常用的Python库之一——scikit-learn(简称sklearn)的基础知识和用法。sklearn是一个开源的机器学习库,提供了许多常用的机器学习算法和工具,方便用户进行数据分析和模型建立。通过这个简单的示例,我们可以看到sklearn库提供了丰富的功能和工具,方便用户进行机器学习模型的建立和评估。接下来,我们将介绍sklearn库中常用的功能和用法,包括数据预处理、模型选择、模型训练和评估等方面。假设我们有一个数据集,包含了一些样本的特征和对应的标签。
2024-04-23 12:40:28 67
原创 Prompt Engineering,提示工程
模型训练者也没想过会这样,完全是大家[把Ai当人看]玩出一个用法实在传得太广,导致现在的大模型训练数据里充满了角色定义,所有更有效了有一篇论文的现象,可以说明为啥[你是一个xxx]特别有效大模型对prompt开头和结尾的内容更敏感先定义角色,其实就是在开关把问题域收窄,减少二义性。大模型如何使用长上下文信息?斯坦福大学最新论文证明,你需要将重要的信息放在输入的开始或者结尾处!
2024-04-23 11:19:10 196
原创 java中spring底层核心原理解析(2)
spring在基于某个类生成bean的过程中,需要利用该学业有成的构造方法来实例化得到一个对象,但是如果一个类存在多个构造方法,spring会使用哪个呢?spring的判断逻辑如下:1、如果一个类只存在一个构造方法,不管该构造方法是无参构造方法,还是有参构造方法,spring都会调用这个方法2、当一个类存在多个构造方法a、这些构造方法中,存在一个无参的构造方法,那么spring就会用这个无参的构造方法b、这些构造方法中,不存在一个无参的构造方法,那么spring就会报错。
2024-04-22 23:40:09 387
原创 java中spring底层核心原理解析(1)
Bean对象创建出来后:1、如果当前Bean是单例Bean,那么会把该Bean对象存一个Map,Map的key为beanName,value为Bean对象。这样下次getBean时就可以直接从Map中拿到对应的Beand对象了。2、如果当前Bean是原理的Bean,那后续没有其它动作,不会存入一个Map,下次getBean时会再次执行上述创建过程,得到一个新的 Bean对象。
2024-04-22 23:13:34 987
原创 Tomcat架构设计精髓分析-Connector高内聚低耦合设计
首先要分析需求,根据高内聚低耦合的原则确定子模块,然后找出子模块中的变化点和不变点,用接口和抽象类去封装不变点,在抽象基类中定义模板方法,让子类自己实现抽象方法,也就是具体子类去实现变化点。
2024-04-20 23:39:31 347
原创 chatGPT以及openAI介绍及相关概念
成立背景: OpenAI 成立于 2015 年,由一群高科技界的重要人物创立,包括 Elon Musk 和 Sam Altman。其目标是推动人工智能(AI)的发展,同时确保 AI 的发展能够造福全人类。研究方向: OpenAI 专注于深度学习、机器学习和人工智能的研究,包括自然语言处理、计算机视觉、机器人技术等。安全和伦理: 它特别重视 AI 安全和伦理问题,致力于创建友好型 AI,确保 AI 技术的发展和应用是安全和受控的。
2024-04-19 23:42:07 540
原创 关于agi中的Function Calling深入解析
从本地到远程,从同步到异步,媒介发生很多变化,但本质一直没变:程序员的绽现在,开始进行到自然语言接口,Natural-Languagge Interface,简称NLI。
2024-04-19 11:06:59 710
原创 tomcat中Pipeline-Valve解析
tomcat中用到Pipeline-Value有二种方式,一种是管道/阀门,另一种是过滤器链/过滤器。
2024-04-17 23:39:20 262
原创 Stable Diffusion 本地部署教程
总的来说,Stable Diffusion 是一个非常实用的工具,可以帮助开发人员轻松地同步数据。通过本地部署 Stable Diffusion,您可以更好地控制数据同步的过程,并确保数据的稳定性和一致 性。在本文中,我将分享如何在本地部署 Stable Diffusion,这是一个用于数据同步和传输的开源工具。一旦配置完成,您可以启动 Stable Diffusion,并开始同步数据。最后,您可以根据需要定期更新 Stable Diffusion,并保持其最新版本以获得最新的功能和安全性修复。
2024-04-16 00:22:37 543
原创 Tomcat 启动闪退问题解决方法
3. 检查JDK版本:Tomcat需要依赖Java环境,如果使用的JDK版本不兼容或者存在问题,也会导致Tomcat启动失败。1. 检查日志文件:首先,我们可以查看Tomcat的日志文件,通常位于Tomcat安装目录下的logs文件夹中。在使用Tomcat时,有时候会遇到启动闪退的问题,即Tomcat启动后立即关闭,无法正常运行的情况。5. 清除临时文件:有时候Tomcat启动失败是由于临时文件夹中的缓存文件引起的,我们可以尝试清除Tomcat的临时文件夹,并重新启动Tomcat。
2024-04-16 00:15:32 292
原创 Node.js安装与配置
接下来,我们需要配置Node.js的环境变量。在Windows系统中,打开控制面板,找到“系统和安全”->“系统”->“高级系统设置”,点击“环境变量”,在系统变量中新建一个变量名为NODE_PATH,值为Node.js的安装路径(比如C:\Program Files\nodejs)。首先,你需要前往Node.js官方网站(https://nodejs.org/)下载最新版本的Node.js安装包。如果成功安装,命令行会显示Node.js的版本号。接下来,我们需要安装npm(Node.js的包管理工具)。
2024-04-16 00:13:52 337
原创 GateWay基本配置
在现代的微服务架构中,网关是一个非常重要的组件,它充当了所有外部请求的入口,负责路由、过滤、监控等功能。Spring Cloud Gateway是一个基于Spring Framework 5、Project Reactor和Spring Boot 2的网关服务,它提供了一种简单而有效的方式来管理所有的微服务请求。在这个配置类中,我们定义了一个名为"path_route"的路由规则,当请求路径为"/foo"时,将请求转发到"http://example.org"。
2024-04-16 00:11:51 668
原创 Hystrix的概念,作用,使用方法
当一个服务出现故障或延迟时,Hystrix会自动打开断路器,停止向该服务发送请求,而是返回一个预先定义的fallback响应。总的来说,Hystrix是一个非常强大的工具,可以帮助我们构建健壮的分布式系统,提高系统的可靠性和弹性。使用Hystrix非常简单,只需要在需要保护的方法上添加@HystrixCommand注解,并指定fallback方法。除了断路器模式,Hystrix还提供了许多其他功能,如请求缓存、请求合并、线程池隔离等,可以根据具体的需求来选择使用。// 调用远程服务获取数据。
2024-04-16 00:09:10 698
原创 tomcat热部署热加载原理剖析
当一个新的类文件被加载时,Tomcat会首先尝试使用父类加载器加载,如果父类加载器无法找到该类文件,就会由子类加载器加载。总的来说,Tomcat的热部署热加载功能是通过类加载器实现的,通过监控文件变化和动态加载新的类文件来实现。而在热加载时,Tomcat会在类加载器中动态加载 新的类文件,从而实现了热加载的功能。需要注意的是,虽然Tomcat提供了热部署和热加载的功能,但在生产环境中并不推荐频繁地使用这些功能,因为这可能会导致内存泄漏或其他性能问题。在本文中,我们将深入探讨Tomcat热部署热加载的原理。
2024-04-15 20:56:16 536
原创 tomcat类加载机制
当一个类需要被加载时,Tomcat会首先从Web应用程序类加载器开始搜索,如果找不到,则会向上委托给父类加载器,直到Bootstrap类加载器。在Tomcat中,类加载器的层次结构是由父子关系组成的,每个类加载器都有自己的加载范围和优先级。2. Common类加载器:这是Tomcat的共享类加载器,用于加载Tomcat本身的类库,如servlet-api.jar等。3. Web应用程序类加载器:每个Web应用程序都有自己的类加载器,用于加载Web应用程序中的类。
2024-04-15 20:54:27 473
原创 优化你的Tomcat服务器:提高性能的关键技巧
然而,为了确保它的最佳性能,需要一些优化技巧。通过采取这些关键技巧,您可以显著提高Tomcat服务器的性能和稳定性,使其能够更好地应对高负载和大流量的情况。记住,优化是一个持续的过程,定期审查和调整您的配置以适应应用程序 的变化是至关重要的。- **垃圾收集器(-XX:+UseConcMarkSweepGC)**:根据您的应用程序需求选择合适的垃圾收集器。- **堆内存大小(Xms和Xmx)**:确保将堆内存大小设置为适当的值,以避免频繁的垃圾回收。通过调整连接器的配置,可以优化Tomcat的性能。
2024-04-14 23:36:10 367
原创 深入解析Tomcat的工作流程
它可以提供更高的性能和可靠性。- **请求处理:** Servlet容器根据请求的URL映射到相应的Servlet,并调用其service()方法处理请求。- **请求分发给适当的容器:** 请求被传递给适当的容器,如Servlet容器或静态资源容器,由容器负责处理请求。- **共享类加载器:** Tomcat的启动类加载器负责加载Tomcat自身的类,以及Java标准库中的类。- **Web应用程序类加载器:** 每个Web应用程序都有自己的类加载器,负责加载Web应用程序的类。
2024-04-14 23:35:16 286
原创 如何监控tomcat的性能
tomcat的关键指标有吞吐量、响应时间、错误数、线程池、cpu以及JVM内存。其中前三3个指标是最值得我们关注的业务指标。部署和管理Web应用程序时,监控Tomcat的性能是至关重要的。Tomcat是一个流行的开源Servlet容器,用于托管Java Web应用程序。通过实施有效的性能监控策略,您可以及时发现并解决潜 在的性能瓶颈,确保应用程序的稳定性和可靠性。本文将介绍监控Tomcat性能的最佳实践。
2024-04-12 23:45:21 441
原创 jvm调优-如何分析GC日志
2、Full GC (Metadata GC Threshold)是指这是一次full gc,括号里是gc的原因,PSYoungGen是年轻代的GC,ParOldGen是才年代的GC,Metaspace是元空间的GC。6、34822K->34822K(1081344K),这三个数字分别对应GC之前元空间内存的大小,GC之后元空间内存占用,以及整个元空间内存的大小。5、30092K->22612K(1085952K),这三个数字分别对应GC之前占用堆内存的大小,GC之后堆内存占用,以及整个堆内存的大小。
2024-04-11 16:49:47 342
原创 jvm调优实战-阿里Arthas使用详解
Arthas是阿里在2018年9月开源的Java诊断工具。支持JDK6+,采用交互模式。可以很方便用于线上定位问题。官方文档地址:https://alibaba.github.io/arthas。
2024-04-11 11:39:54 367
原创 agi入门-大模型开发基础
大模型是就是一个函数,给输入,生成输出任何可以用语言描述的问题,都可以输入给大模型,就能生成问题的结果进而,任何二进制数据,都可以输入给大模型,生成二进制数据1、可能是一个英文单词,也可能是半个,三分之一个2、可能是一个中文词,或者一个汉字,也可能是半个汉字,甚至三分之一个汉字3、大模型在开训前,需要先训练一个tokenizer模型连续能把所有的文件,切成token。
2024-04-10 23:04:39 401
原创 jvm运行情况预估
执行下面指令能计算出一些关键数据,有了这些数据,先给JVM参数一些的初始的,比堆内存大小、年轻代大小 、Eden和Srivivor的比例,老年代的大小,大对象的阈值,大龄对象进行老年代的阈值等。
2024-04-10 22:40:19 679
原创 深入解析JVM虚拟机-G1垃圾收集器
G1(Garbage-First)是一款面向服务器的垃圾收集器,,以极高概率满足GC停顿时间要求的同时,还具备高吞吐量性能特征。
2024-04-08 12:34:41 1380
原创 Java学不下去?老司机告诉你应该怎么来学好Java
2. 找到系统性教材:可以选择一些权威的Java编程教材,比如《剑指Java》、《剑指JVM》等,系统性地学习Java的知识。5. 结合实际应用:在学习Java的过程中,要结合实际应用场景,比如开发一些小工具、小应用,来加深对Java的理解。希望大家都能够成为Java的高手!3. 缺乏实践机会:学习Java需要大量的实践机会,如果缺乏实践机会,很难真正掌握Java的编程技能。3. 多实践:在学习Java的过程中,要多写代码,多实践,通过实践来巩固所学的知识,提高编程技能。
2024-04-07 22:22:44 91
原创 Java应该怎么学?这几个步骤要记清?
很多零基础小白在学习Java前,都会被一个问题所困扰,那就是Java应该怎么学?确实,初学者刚接触Java,难免会有些毫无头绪。接下来,小编就为大家详细介绍下学习 Java 的步骤,帮你搞懂“Java应该怎么学?这是“Java应该怎么学?”这个问题中很重要的一步,这些前置知识包括Java编程的发展历程、语言特性内容。”的回答了,总之,想要学习Java的小伙伴就按照上面五个步骤做就行,只要大家每点都能做到,就一定能实现自己的Java梦!因为通过实践操作,不仅能加深对所学知识的理解,更能增加一定的项目经验。
2024-04-07 22:22:14 115
原创 JVM调优案例分析-亿级流量电商系统优化(ParNew+CMS)
一个日访问量达亿次的流量电商网站,一般每个用户平均点击次数为20-30次,估算日活用户500万左右,假设订单转化率为10%,每日的订单数为50万,在日常中一般集中在3-4个小时内产生,每秒钟大概产生10几个订单;
2024-04-07 22:18:16 364
原创 关于JVM-三色标记算法剖析
白色:表示对象未被垃圾收集器访问过,这是可达性分析开始的阶段,所有的对象都是白色,如果分析结束阶段,还是白色,即代表不可达。灰色:表示对象被垃圾收集器访问过,但是至少还有一个引用没有被扫描过。黑色:表示对象已被垃圾收集器访问过了,并且这个对象所有对象都被扫描过了,它是安全存活的,如果有其它对象引用指向了黑色对象,无须重新扫描一遍。黑色对象不可能直接指向某个白色对象。
2024-04-07 16:29:24 423
原创 深入理解JVM垃圾收集器
目前市面常见的垃圾收集器有Serial、ParNew、Parallel、CMS、Serial Old、Parallel Old、G1、ZGC以及有二种不常见的Epsilon、Shenandoah的,从上图可以看到有连线的的垃圾收集器是可以组合使用,是年轻代+老年代。为什么会出现这么多的垃圾收集器?因为,直到现在也没有最好的垃圾收集器出现,更没有万能的垃圾收集器,只能按照使用场景来选择适合的垃圾收集器。如果存在完美的垃圾收集器,那到JAVA虚拟机就不会实现这么多不同的垃圾收集器。
2024-04-06 21:57:40 863 1
原创 深入理解JVM后端优化技术-锁粗化(Lock Coarsening)
看上图,对于相邻的几个同步块如果使用同一个锁实例,那么JIT编绎器会将这些同步块合并成一个大的同步块,从而避免一个线程反复申请、释放锁所导致的开销。
2024-04-05 13:08:02 411 1
原创 深入理解JVM后端优化技术-锁消除(Lock Elision)
这个优化措施主要针对synchronized关键字。当JVM检测到一个锁的代码不存在多线程竞争时,会对这个对象的锁进行锁消除。多线程并发资源竞争是一个很复杂的场景,所以要检测是否存在多线程竞争是不容易的。但是有一个例外,如果一个方法没有发生逃逸,那么它的内部的锁都是不存在竞争的。
2024-04-05 11:34:41 859 1
原创 深入理解JVM后端优化技术-逃逸分析(Escape Analysis)
当一个对象在方法里面被定义后,它可能让外部方法所引用,作为调用参数传递到其它的方法中,这种称为方法逃逸;还有可能被外部线程访问到,赋值给可以在其它线程中访问的实例数量,这种称为线程逃逸;从不逃逸、方法逃逸到线程逃逸,称为对象由低到高的不同逃逸程度。左侧的代码,d对象不会让外部引用,只会用在方法中使用,所以不会发生逃逸。而右侧的代码中,d对象一看就有其它方法使用了,就会产生逃逸。JDK8中默认开启了逃逸分析,可以添加参数-XX:-DoEscapeAnalysis主动关闭逃逸分析。 如果能分析出
2024-04-04 21:14:03 712 1
原创 深入理解JVM后端优化技术-方法内联
jvm只是负责依次将字节码指令逐次转换成机器码。而在转换过程中,JVM会对做一些代码优化,不管怎么样,就算程序员写出了很烂的代码,JVM也能保持一个不错的执行效率。这就是。
2024-04-04 16:16:56 346 1
C#的orm框架grove源代码
2011-04-19
C#优秀数据库操作底层,用工厂实现
2011-01-22
DotNetTextBox3.4.5_Source
2009-05-27
DzendDateTimeTextBox V1.1版
2007-10-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人