websocket连接问题 :连接到“ws://localhost:8888/websocket”失败:websocket握手时出错:意外响应代码:500

连接到“ws://localhost:8888/websocket”失败:websocket握手时出错:意外响应代码:500

websocket项目启动之后,页面控制台报错,后台还报了空指针

这里报空指针错误的原因就是websocket服务器端类那httpsession获取不到


然后就拼命百度,最终解决这个问题时添了请求监听器,记得不要忘了在启动类中加上注解@ServletComponentScan




import org.springframework.stereotype.Component;

import javax.servlet.http.HttpSession;

import javax.websocket.*;

import javax.websocket.server.ServerEndpoint;

import java.io.IOException;

import java.util.HashMap;

import java.util.Map;

import java.util.concurrent.CopyOnWriteArraySet;

/**

* @ServerEndpoint 注解是一个类层次的注解,它的功能主要是将目前的类定义成一个websocket服务器端,

* 注解的值将被用于监听用户连接的终端访问URL地址,客户端可以通过这个URL来连接到WebSocket服务器端

*/

@ServerEndpoint(value ="/websocket",configurator = GetHttpSessionConfigurator.class)

//@ServerEndpoint("/{websocket}")

@Component

public class WebsocketTest {

//静态变量,用来记录当前在线连接数。应该把它设计成线程安全的。

    private static int onlineCount =0;

    //concurrent包的线程安全Set,用来存放每个客户端对应的MyWebSocket对象。若要实现服务端与单一客户端通信的话,可以使用Map来存放,其中Key可以为用户标识

    private static CopyOnWriteArraySetwebSocketSet =new CopyOnWriteArraySet<>();

    //    private static ConcurrentHashMap webSocketMap = new ConcurrentHashMap<>();

    private static Mapusermap =new HashMap<>();

    //与某个客户端的连接会话,需要通过它来给客户端发送数据

    private Sessionsession;

    /**

    * 连接建立成功调用的方法

    * @param session  可选的参数。session为与某个客户端的连接会话,需要通过它来给客户端发送数据

    */

    @OnOpen

    public void onOpen(Session session, EndpointConfig config){

this.session = session;

        webSocketSet.add(this);    //加入set中

        addOnlineCount();

        HttpSession httpSession= (HttpSession) config.getUserProperties().get(HttpSession.class.getName());

        usermap.put(session.getId(),this);

        System.out.println("有新连接加入!"+httpSession.getAttribute("users")+"当前在线人数为" +getOnlineCount());

        this.session.getAsyncRemote().sendText(httpSession.getAttribute("users")+"进入直播间");

    }

/**

    * 连接关闭调用的方法

    */

    @OnClose

    public void onClose(){

webSocketSet.remove(this);  //从set中删除

        subOnlineCount();          //在线数减1

        System.out.println("有一连接关闭!当前在线人数为" +getOnlineCount());

    }

/**

    * 收到客户端消息后调用的方法

    * @param message 客户端发送过来的消息

    * @param session 可选的参数

    */

    @OnMessage

    public void onMessage(Session session,String message) {

this.session = session;

        System.out.println(usermap.get(session.getId()));

        System.out.println("来自客户端的消息:" + message);

        for(WebsocketTest item:webSocketSet){

try {

item.sendMessage(message);

            }catch (IOException e) {

e.printStackTrace();

            }

}

}

/**

    * 发生错误时调用

    * @param session

    * @param error

    */

    @OnError

    public void onError(Throwable error){

System.out.println("发生错误");

        error.printStackTrace();

    }

/**

    * 这个方法与上面几个方法不一样。没有用注解,是根据自己需要添加的方法。

    * @param message

    * @param session

    * @throws IOException

*/

    public void sendMessage(String message)throws IOException{

this.session.getBasicRemote().sendText(message);

        //this.session.getAsyncRemote().sendText(message);

    }

public static synchronized int getOnlineCount() {

return onlineCount;

    }

public static synchronized void addOnlineCount() {

WebsocketTest.onlineCount++;

    }

public static synchronized void subOnlineCount() {

WebsocketTest.onlineCount--;

    }

}

前端界面

    Java后端WebSocket的Tomcat实现</p> <p>Welcome</p> <p><br/><label for="text"></p> <p><input id="text" type="text" name="t1"/></p> <p><button onclick="send()" name="b1">发送消息</p> <p></p> <hr> <p></p> <p><button onclick="closeWebSocket()">关闭WebSocket连接</p> <p></p> <hr> <p></p> <p><div id="message"></p> <p><script type="text/javascript"></p> <p>    var websocket =null;</p> <p>    //判断当前浏览器是否支持WebSocket</p> <p>    if ('WebSocket' in window) {</p> <p>var host = window.location.host;</p> <p>        websocket =new WebSocket("ws://"+host+"/websocket");</p> <p>    }</p> <p>else {</p> <p>alert('当前浏览器 Not support websocket')</p> <p>}</p> <p>//连接发生错误的回调方法</p> <p>    websocket.onerror =function () {</p> <p>setMessageInnerHTML("WebSocket连接发生错误");</p> <p>    };</p> <p>    //连接成功建立的回调方法</p> <p>    websocket.onopen =function () {</p> <p>setMessageInnerHTML("WebSocket连接成功");</p> <p>    };</p> <p>    //接收到消息的回调方法</p> <p>    websocket.onmessage =function (event) {</p> <p>setMessageInnerHTML(event.data);</p> <p>    };</p> <p>    //连接关闭的回调方法</p> <p>    websocket.onclose =function () {</p> <p>setMessageInnerHTML("WebSocket连接关闭");</p> <p>    };</p> <p>    //监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常。</p> <p>    window.onbeforeunload =function () {</p> <p>closeWebSocket();</p> <p>    };</p> <p>    //将消息显示在网页上</p> <p>    function setMessageInnerHTML(innerHTML) {</p> <p>document.getElementById('message').innerHTML +=  innerHTML +'<br/>';</p> <p>    }</p> <p>//关闭WebSocket连接</p> <p>    function closeWebSocket() {</p> <p>websocket.close();</p> <p>    }</p> <p>//发送消息</p> <p>    function send() {</p> <p>const message = document.getElementById('text').value;</p> <p>        websocket.send(message);</p> <p>    }</p> </article> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1692761113655062528"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(websocket连接问题 :连接到“ws://localhost:8888/websocket”失败:websocket握手时出错:意外响应代码:500)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1896210738301693952.htm" title="LeetCode 第7题:整数反转" target="_blank">LeetCode 第7题:整数反转</a> <span class="text-muted">Gemini技术窝</span> <a class="tag" taget="_blank" href="/search/leetcode/1.htm">leetcode</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a> <div>本文我们来看看整数翻转大法——LeetCode第7题的解析。文章目录引言题目描述解题思路实现代码解题过程可视化例子讲解例子1:整数123例子2:整数-123例子3:整数120例子4:整数1534236469(溢出)总结结尾引言大家好!今天我们要解析的是LeetCode的第7题——整数反转。你有没有试过在生活中来一次180度大转弯?今天我们要做的就是让一个整数来个华丽的掉头,从正数变成负数,从123</div> </li> <li><a href="/article/1896210609532366848.htm" title="使用pywechat自动回复指定好友的消息" target="_blank">使用pywechat自动回复指定好友的消息</a> <span class="text-muted">起个破名想半天了</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96/1.htm">自动化</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1/1.htm">微信</a> <div>pywechat是基于UI自动化技术开发的一个开源的微信自动化操作工具,主要基于pywinauto和windowsapi实现的windows桌面微信自动化操作工具,基本实现了PC微信内置的各项操作。获取方式pipinstallpywechat127==1.8.3自动回复代码frompywechat.WechatAutoimportauto_reply_to_friendauto_reply_to_</div> </li> <li><a href="/article/1896210231457804288.htm" title="【2025】项目开发周期中的“多环境”理解" target="_blank">【2025】项目开发周期中的“多环境”理解</a> <span class="text-muted">在努力的韩小豪</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a><a class="tag" taget="_blank" href="/search/java-ee/1.htm">java-ee</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a> <div>基本概念:多环境:同一个项目的源码在不同的开发阶段需要根据实际情况调整配置并部署到不同的机器上。作用【为什么需要?】:隔离项目在不同环境下的运行实况,每个环境互不影响;区分开发周期中的不同阶段:开发/测试/生产;优化项目内容日志只存放于本地机器或服务器,不输出在线上环境中;针对不同的环境可以进行参数调优【如JVM的堆内存大小】精简项目依赖,节省项目体积【如通过maven管理依赖时,可以通过scop</div> </li> <li><a href="/article/1896209852481466368.htm" title="gradio创建openai前端对接deepseek等模型流式输出markdown格式文本" target="_blank">gradio创建openai前端对接deepseek等模型流式输出markdown格式文本</a> <span class="text-muted">内卷焦虑人士</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/deepseek/1.htm">deepseek</a><a class="tag" taget="_blank" href="/search/openai/1.htm">openai</a><a class="tag" taget="_blank" href="/search/gradio/1.htm">gradio</a><a class="tag" taget="_blank" href="/search/markdown/1.htm">markdown</a> <div>环境gradio==3.50.2openai==1.63.1代码importopenaiimportgradioasgr#导入gradio的包api_key="sk-**a8"api_base="https://api.deepseek.com/v1"importgradioasgrimportopenaifromtypingimportList,Any,Iteratorclient=openai</div> </li> <li><a href="/article/1896209600332492800.htm" title="RocketMQ的架构及其工作流程详解" target="_blank">RocketMQ的架构及其工作流程详解</a> <span class="text-muted">--流星。</span> <a class="tag" taget="_blank" href="/search/%E5%BE%AE%E6%9C%8D%E5%8A%A1/1.htm">微服务</a><a class="tag" taget="_blank" href="/search/rocketmq/1.htm">rocketmq</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>RocketMQ的架构及解析Producer1、消息发布的角色,支持分布式集群方式部署。2、Producer通过MQ的负载均衡模块选择相应的Broker集群队列进行消息投递,投递的过程支持快速失败并且低延迟。Consumer1、消息消费的角色,支持分布式集群方式部署。2、支持以push推,pull拉两种模式对消息进行消费。3、同时也支持集群方式和广播方式的消费,它提供实时消息订阅机制,可以满足大多</div> </li> <li><a href="/article/1896209221519732736.htm" title="StrokesPlus【电脑鼠标键盘手势软件】v0.5.8.0 中文绿色便携版" target="_blank">StrokesPlus【电脑鼠标键盘手势软件】v0.5.8.0 中文绿色便携版</a> <span class="text-muted">有过~</span> <a class="tag" taget="_blank" href="/search/%E7%94%B5%E8%84%91%E8%BD%AF%E4%BB%B6/1.htm">电脑软件</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%A4%96%E8%AE%BE/1.htm">计算机外设</a> <div>前言StrokesPlus.net是一个超方便的手势识别软件,它能帮你用手势来代替鼠标和键盘操作。用起来既简单又灵活,功能还特别强大。操作起来非常简单,它有好多实用的功能,比如智能识别你写的字、设定手势操作的区域、模拟鼠标的各种动作、运行脚本、响应窗口事件、模拟按键、设置快捷键、录制宏,还有支持插件等等。有了它,你就可以轻松实现各种鼠标宏和复杂的鼠标操作啦。而且,你还可以给它分配快捷键,创建一个忽</div> </li> <li><a href="/article/1896209222094352384.htm" title="实战C++手写线程池" target="_blank">实战C++手写线程池</a> <span class="text-muted">GeniusAng丶</span> <a class="tag" taget="_blank" href="/search/C%2FC%2B%2B%E7%BC%96%E7%A8%8B/1.htm">C/C++编程</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/OOP/1.htm">OOP</a><a class="tag" taget="_blank" href="/search/%E7%BA%BF%E7%A8%8B%E6%B1%A0/1.htm">线程池</a> <div>课程总目录文章目录一、项目必备基础概念1.1并发和并行1.2多线程的优势1.3线程的消耗1.4线程池的优势1.5线程池的两种模式:fixed模式和cached模式1.6线程同步之线程互斥1.7线程同步之线程通信1.7.1条件变量1.7.2信号量1.8项目设计图浏览二、线程池代码展示三、线程池资源回收死锁问题分析四、线程资源回收策略修改优化五、Linux平台编译线程池动态库六、packaged_ta</div> </li> <li><a href="/article/1896208843143180288.htm" title="大语言模型技术专栏(三):Attention机制——从RNN到Transformer的惊世一跃!" target="_blank">大语言模型技术专栏(三):Attention机制——从RNN到Transformer的惊世一跃!</a> <span class="text-muted">北海yy</span> <a class="tag" taget="_blank" href="/search/%E5%A4%A7%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B%E6%8A%80%E6%9C%AF%E4%B8%93%E6%A0%8F/1.htm">大语言模型技术专栏</a><a class="tag" taget="_blank" href="/search/%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">语言模型</a><a class="tag" taget="_blank" href="/search/rnn/1.htm">rnn</a><a class="tag" taget="_blank" href="/search/transformer/1.htm">transformer</a> <div>文章目录概要一、Attention机制:让AI学会「划重点」二、Attention机制的核心原理三、Self-Attention:Transformer的核心四、代码实战:用PyTorch实现Attention五、Attention的进化:从Transformer到GPT概要大家好,我是北海yy,继续带来大语言模型技术专栏的深度解析!在上一期《RNN语言模型——让AI真正「记住」上下文的秘密武器》</div> </li> <li><a href="/article/1896208465232195584.htm" title="56、深度学习-自学之路-自己搭建深度学习框架-17、关于为什么LSTM可以解决RNN的梯度爆炸和梯度消失的问题的解析。" target="_blank">56、深度学习-自学之路-自己搭建深度学习框架-17、关于为什么LSTM可以解决RNN的梯度爆炸和梯度消失的问题的解析。</a> <span class="text-muted">小宇爱</span> <a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0-%E8%87%AA%E5%AD%A6%E4%B9%8B%E8%B7%AF/1.htm">深度学习-自学之路</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/rnn/1.htm">rnn</a><a class="tag" taget="_blank" href="/search/lstm/1.htm">lstm</a> <div>我的话太苍白,你们可以去哔哩哔哩上搜索一个"大白话讲解LSTM长短期记忆网络如何缓解梯度消失,手把手公式推导反向传播”不仅仅解释了为什么,还把公式的推导也给了出来。讲的已经非常好了。还可以看一下他的专辑内容,其中有RNN,LSTM,GRU的详细解释。比我说的好。</div> </li> <li><a href="/article/1896207959202000896.htm" title="通过 PromptTemplate 生成干净的 SQL 查询语句并执行SQL查询语句" target="_blank">通过 PromptTemplate 生成干净的 SQL 查询语句并执行SQL查询语句</a> <span class="text-muted">背太阳的牧羊人</span> <a class="tag" taget="_blank" href="/search/RAG%E4%BC%98%E5%8C%96%E6%96%B9%E6%B3%95/1.htm">RAG优化方法</a><a class="tag" taget="_blank" href="/search/RAG%2Blangchain/1.htm">RAG+langchain</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/langchain/1.htm">langchain</a><a class="tag" taget="_blank" href="/search/createsql_agent/1.htm">createsql_agent</a><a class="tag" taget="_blank" href="/search/SQLDatabase/1.htm">SQLDatabase</a><a class="tag" taget="_blank" href="/search/Toolkit/1.htm">Toolkit</a> <div>问题描述在使用LangChain和Llama模型生成SQL查询时,遇到了sqlite3.OperationalError错误。错误信息如下:OperationalError:(sqlite3.OperationalError)near"```sqlSELECTNameFROMMediaTypeLIMIT5;```":syntaxerror[SQL:```sqlSELECTNameFROMMedia</div> </li> <li><a href="/article/1896207961122992128.htm" title="构造一个工具(TravelSQLAgentTool),利用大语言模型(例如 Llama 模型)来完成 SQL 查询代理工具" target="_blank">构造一个工具(TravelSQLAgentTool),利用大语言模型(例如 Llama 模型)来完成 SQL 查询代理工具</a> <span class="text-muted">背太阳的牧羊人</span> <a class="tag" taget="_blank" href="/search/agent%2Blangchain/1.htm">agent+langchain</a><a class="tag" taget="_blank" href="/search/%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">语言模型</a><a class="tag" taget="_blank" href="/search/llama/1.htm">llama</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/langchain/1.htm">langchain</a><a class="tag" taget="_blank" href="/search/agent/1.htm">agent</a><a class="tag" taget="_blank" href="/search/langchain%E5%B7%A5%E5%85%B7/1.htm">langchain工具</a> <div>完整代码:fromlangchain_core.toolsimporttoolfromlangchain_community.utilitiesimportSQLDatabasefromlangchain_core.promptsimportPromptTemplatefromlangchain_core.output_parsersimportStrOutputParserfromlangcha</div> </li> <li><a href="/article/1896207832886341632.htm" title="C#如何对button按钮实现进度条功能" target="_blank">C#如何对button按钮实现进度条功能</a> <span class="text-muted">凌晓峰</span> <a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/%E6%8C%89%E9%92%AE%E8%BF%9B%E5%BA%A6%E6%9D%A1/1.htm">按钮进度条</a><a class="tag" taget="_blank" href="/search/button%E5%AE%9E%E7%8E%B0%E8%BF%9B%E5%BA%A6%E6%9D%A1/1.htm">button实现进度条</a><a class="tag" taget="_blank" href="/search/button%E8%BF%9B%E5%BA%A6%E6%9D%A1/1.htm">button进度条</a> <div>C#如何对button按钮实现进度条功能一.单线程进度条二.多线程进度条三.使用委托和invoke方法跨线程UIl控制来实现进度条四.使用异步委托执行线程来完成进度条五.使用Async,await完成进度条在编写WinForm程序时,我们有很多时候需要用到进度条,下面我来分享一下我在处理进度条时所采用的各种方法。创建一个Winform窗体应用项目。添加一个新的窗体(progressForm.cs)</div> </li> <li><a href="/article/1896206573374599168.htm" title="LeetCode 解题思路 2(Hot 100)" target="_blank">LeetCode 解题思路 2(Hot 100)</a> <span class="text-muted">S01d13r</span> <a class="tag" taget="_blank" href="/search/leetcode/1.htm">leetcode</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a> <div>解题思路:哈希去重:将所有元素存入哈希集合。遍历检查起点:对每个元素,若其前驱不存在,则作为起点开始向后扩展,统计最长连续序列。Java代码:classSolution{publicintlongestConsecutive(int[]nums){SetnumSet=newHashSet<>();for(intnum:nums){numSet.add(num);}intmaxLength=0;fo</div> </li> <li><a href="/article/1896206571898204160.htm" title="LeetCode 解题思路 1(Hot 100)" target="_blank">LeetCode 解题思路 1(Hot 100)</a> <span class="text-muted">S01d13r</span> <a class="tag" taget="_blank" href="/search/leetcode/1.htm">leetcode</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>解题思路:哈希表优化查找:利用哈希表存储已遍历元素的值及其索引,将查找时间从O(n)降至O(1)。一次遍历:遍历数组对每个元素计算补数,若补数存在于哈希表中,则直接返回结果;否则将该元素存入哈希表。Java代码:importjava.util.HashMap;importjava.util.Map;classSolution{publicint[]twoSum(int[]nums,inttarge</div> </li> <li><a href="/article/1896205690008039424.htm" title="tkinter防抖数字输入框" target="_blank">tkinter防抖数字输入框</a> <span class="text-muted">三巧</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/tkinter/1.htm">tkinter</a> <div>importtkinterastkimportlocalefromtkinterimportfontastkFontclassDebouncedNumericEntry(tk.Entry):def__init__(self,master=None,debounce_delay=500,warning_duration=3000,allow_decimal=True,allow_negative=T</div> </li> <li><a href="/article/1896203926756192256.htm" title="Spring Boot整合Redis快速入门实例" target="_blank">Spring Boot整合Redis快速入门实例</a> <span class="text-muted">oscar999</span> <a class="tag" taget="_blank" href="/search/Spring/1.htm">Spring</a><a class="tag" taget="_blank" href="/search/Boot%E5%AE%9E%E6%88%98%E5%BC%80%E5%8F%91%E5%A4%A7%E5%85%A8/1.htm">Boot实战开发大全</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>本篇演示环境本篇基于SpringBoot2.5.0,关于Redis的安装,可以参考:Redis介绍、安装与初体验和Windows下安装和使用Redis。整合步骤导入Redis相关的依赖项配置启动器spring-boot-starter-data-redisorg.springframework.bootspring-boot-starter-data-redis添加连接Redis服务器的相关配置在</div> </li> <li><a href="/article/1896200274301743104.htm" title="Transformer 代码剖析7 - 词元嵌入(TokenEmbedding) (pytorch实现)" target="_blank">Transformer 代码剖析7 - 词元嵌入(TokenEmbedding) (pytorch实现)</a> <span class="text-muted">lczdyx</span> <a class="tag" taget="_blank" href="/search/Transformer%E4%BB%A3%E7%A0%81%E5%89%96%E6%9E%90/1.htm">Transformer代码剖析</a><a class="tag" taget="_blank" href="/search/transformer/1.htm">transformer</a><a class="tag" taget="_blank" href="/search/pytorch/1.htm">pytorch</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>一、类定义与继承关系剖析1.1代码结构图示神经网络基础模块词嵌入基类自定义词元嵌入构造函数定义基类初始化词汇量参数维度参数填充标识参数1.2代码实现精讲"""@author:Hyunwoong@when:2019-10-22@homepage:https://github.com/gusdnd852"""fromtorchimportnnclassTokenEmbedding(nn.Embeddi</div> </li> <li><a href="/article/1896199392885534720.htm" title="毕业5年月入1万+,算不算失败的程序猿/攻城狮!" target="_blank">毕业5年月入1万+,算不算失败的程序猿/攻城狮!</a> <span class="text-muted">hanzhe_xiao</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>先说结论:月入几万的大有人在,完全不是吹牛。但是计算机行业两级分化严重,收入高的大有人在,收入一般的同样很多,找不到工作的也不是没有。如果毕业能进BATTMD汉哲等大厂,收入薪资福利都很不错,简单贴一张2021校招薪资表:这还只是本科生的薪资信息,最高都40万了!但如果是中小厂那就不一定了,如果是小厂那就惨不忍睹了,7k、8k的大有人在。关键是进大厂,对于程序员来说,只能进小厂和能进大厂的差距真的</div> </li> <li><a href="/article/1896197878485938176.htm" title="卷积神经网络(Convolutional Neural Network,CNN)详细解释(带示例)" target="_blank">卷积神经网络(Convolutional Neural Network,CNN)详细解释(带示例)</a> <span class="text-muted">浪九天</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E7%90%86%E8%AE%BA/1.htm">人工智能理论</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/1.htm">神经网络</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a> <div>目录卷积神经网络示例Python案例代码解释卷积神经网络概述:卷积神经网络是一种专门为处理具有网格结构数据(如图像、音频)而设计的深度学习模型。它通过卷积层、池化层和全连接层等组件,自动提取数据的特征,大大减少了模型的参数数量,降低计算量,同时提高了模型的泛化能力。主要组件卷积层:是CNN的核心组件,由多个卷积核组成。卷积核在数据上滑动,通过卷积操作提取数据的局部特征。卷积操作是将卷积核与数据的局</div> </li> <li><a href="/article/1896196870955397120.htm" title="【Python pro】函数" target="_blank">【Python pro】函数</a> <span class="text-muted">CH3_CH2_CHO</span> <a class="tag" taget="_blank" href="/search/%E4%BB%8A%E5%A4%A9%E4%BD%A0%E5%AD%A6Python%E4%BA%86%E5%98%9B/1.htm">今天你学Python了嘛</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>1、函数的定义及调用1.1为什么需要函数提高代码复用性——封装将复杂问题分而治之——模块化利于代码的维护和管理1.1.1顺序式n=5res=1foriinrange(1,n+1):res*=iprint(res)#输出:1201.1.2抽象成函数deffactorial(n):res=1foriinrange(1,n+1):res*=ireturnresprint(factorial(5))#输出</div> </li> <li><a href="/article/1896196366498066432.htm" title="Spring Boot 整合Swagger启动失败Failed to start bean ‘documentationPluginsBootstrapper‘的解决方案" target="_blank">Spring Boot 整合Swagger启动失败Failed to start bean ‘documentationPluginsBootstrapper‘的解决方案</a> <span class="text-muted">码云217</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/rpc/1.htm">rpc</a> <div>目录问题原因方案一(治标)[本人用了方案一解决了]方案二(治标)方案三(治本)问题SpringBoot2.7.3版本引入依赖springfox-boot-starter(Swagger3.0)后,启动容器会报错:org.springframework.context.ApplicationContextException:Failedtostartbean'documentationPlugins</div> </li> <li><a href="/article/1896195278051012608.htm" title="通俗理解-L、-rpath和-rpath-link编译链接动态库" target="_blank">通俗理解-L、-rpath和-rpath-link编译链接动态库</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/linux%E8%BF%90%E7%BB%B4/1.htm">linux运维</a> <div>一、参考资料链接选项rpath的应用和原理|BewareMyPower的博客使用rpath和rpath-link确保samba-util库正确链接-CSDN博客编译参数-Wl和rpath的理解_-wl,-rpath-CSDN博客UsingLD,theGNUlinker-OptionsDirectoryOptions(UsingtheGNUCompilerCollection(GCC))交叉编译时-</div> </li> <li><a href="/article/1896192462947414016.htm" title="【AsyncOpenAI vs OpenAI】在异步函数中调用OpenAI API进行流式输出" target="_blank">【AsyncOpenAI vs OpenAI】在异步函数中调用OpenAI API进行流式输出</a> <span class="text-muted">内卷焦虑人士</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/openai/1.htm">openai</a> <div>目录在异步函数中使用AsyncOpenAI与直接从openai导入OpenAI的区别1.背景介绍1.1同步与异步编程1.2OpenAIAPI2.使用`AsyncOpenAI`的示例3.与直接导入`OpenAI`的区别3.1同步操作与异步操作3.2性能与效率3.3代码结构3.4并发性能3.5事件循环兼容性:4.结论5.补充在异步函数中使用AsyncOpenAI与直接从openai导入OpenAI的区</div> </li> <li><a href="/article/1896190448360288256.htm" title="【大模型】RAG检索增强生成" target="_blank">【大模型】RAG检索增强生成</a> <span class="text-muted">油泼辣子多加</span> <a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/chatgpt/1.htm">chatgpt</a> <div>RAG(Retrieval-AugmentedGeneration)是一种结合了信息检索(Retrieval)和生成(Generation)模型的混合型大模型架构,旨在解决传统生成模型在处理大规模外部知识时的局限性。简单来说,RAG通过在生成过程之前引入检索步骤,使得生成模型可以利用外部文档或知识库来增强其生成能力,提升对复杂问题的回答准确性。一、RAG的工作原理:检索阶段(Retrieval):</div> </li> <li><a href="/article/1896189817927036928.htm" title="探索 Mobile-Agent:X-PLUG 推出的创新型移动智能操作代理" target="_blank">探索 Mobile-Agent:X-PLUG 推出的创新型移动智能操作代理</a> <span class="text-muted">寻道AI小兵</span> <a class="tag" taget="_blank" href="/search/AI%E5%A4%A7%E6%A8%A1%E5%9E%8B%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE%E7%B2%BE%E9%80%89%E5%AE%9E%E6%88%98/1.htm">AI大模型开源项目精选实战</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90/1.htm">开源</a><a class="tag" taget="_blank" href="/search/%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">语言模型</a><a class="tag" taget="_blank" href="/search/AIGC/1.htm">AIGC</a> <div>目录前言一、项目概述二、主要功能1、操作定位2、自我规划3、自我反思4、多应用操作三、技术原理四、应用场景1、自动化移动设备操作2、移动设备性能评估3、提高移动应用程序适应性五、在线体验六、本地部署1.安装依赖2.准备通过ADB连接移动设备3.在移动设备上安装ADB键盘4.选择适合的运行方式5.运行程序结语项目地址前言在当今移动互联网蓬勃发展的时代,人们对于移动设备的操作便利性和智能化需求日益增长</div> </li> <li><a href="/article/1896189818589736960.htm" title="【产品经理修炼之道】-价值维思考模型在技术性需求中的应用" target="_blank">【产品经理修炼之道】-价值维思考模型在技术性需求中的应用</a> <span class="text-muted">xiaoli8748_软件开发</span> <a class="tag" taget="_blank" href="/search/%E4%BA%A7%E5%93%81%E7%BB%8F%E7%90%86/1.htm">产品经理</a> <div>真正的产品,是满足用户需求痛点、给用户创造快感,或者成本节约带来的感受。这种感受既可感知,也有可能不可直接感知。产品经理到底要不要懂技术,是否技术出身的产品经理一定更有优势呢?对于这个问题的探讨,相信各位都能在各个产品论坛上看到,不少产品经理估计也参与争辩过。笔者自己曾是技术出身,且刚毕业时做全栈开发若干年,也有过技术架构经验,所以对于产品经理要不要懂开发,笔者认为懂总比不懂的好,不过之前所带过的</div> </li> <li><a href="/article/1896189313557786624.htm" title="MySQL限制登陆失败次数配置" target="_blank">MySQL限制登陆失败次数配置</a> <span class="text-muted">泠然一梦</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/adb/1.htm">adb</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a> <div>目录一、限制登陆策略1、Windows2、Linux一、限制登陆策略1、Windows1)安装插件登录MySQL数据库mysql-uroot-p执行命令安装插件#限制登陆失败次数插件installpluginCONNECTION_CONTROLsoname'connection_control.dll';installpluginCONNECTION_CONTROL_FAILED_LOGIN_AT</div> </li> <li><a href="/article/1896189312958001152.htm" title="Python神器PyVISA:5分钟搞定仪器远程控制(附实战代码)" target="_blank">Python神器PyVISA:5分钟搞定仪器远程控制(附实战代码)</a> <span class="text-muted">新能源汽车--三电老K</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95/1.htm">自动化测试</a><a class="tag" taget="_blank" href="/search/%E6%B1%BD%E8%BD%A6/1.htm">汽车</a> <div>0.引言:为什么你需要PyVISA?痛点:实验室手动调参数?生产线重复测试效率低?解决方案:用Python+PyVISA实现“一键自动化”,支持GPIB/USB/TCP等多种接口!行业应用:华为/大疆等企业已广泛用于硬件测试,个人开发者也能快速上手!1.PyVISA核心优势(对比LabVIEW/NI-VISA)特性PyVISALabVIEW成本免费开源商业授权(昂贵)开发效率Python语法简洁图</div> </li> <li><a href="/article/1896188683212615680.htm" title="理解CPP的命名空间【仓鼠学cpp】" target="_blank">理解CPP的命名空间【仓鼠学cpp】</a> <span class="text-muted">仓鼠元plus</span> <a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/macos/1.htm">macos</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/visual/1.htm">visual</a><a class="tag" taget="_blank" href="/search/studio/1.htm">studio</a><a class="tag" taget="_blank" href="/search/code/1.htm">code</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>在C++中,命名空间(namespace)用于组织代码,防止名称冲突。尤其是当多个库或模块在同一个程序中使用时,可能会有相同的类、函数、变量名称,命名空间可以帮助区分它们。大家最耳熟能祥的莫过于“usingnamespacestd"了——当然,也许会有很多人很长一段时间内只知道这个。本文,我会举例讲解一下C++中的命名空间,因为我正好在写cpp17的专栏(大家可以去看一下!)也会提一下cpp-17</div> </li> <li><a href="/article/1896188049864323072.htm" title="前端进阶题(面试必看)" target="_blank">前端进阶题(面试必看)</a> <span class="text-muted">Caleb-niu</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95%E6%8C%87%E5%8D%97/1.htm">面试指南</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a> <div>网络&安全❓输入URL地址后发生了什么事情?DNS域名解析,从URL地址中获取域名地址,通过DNS服务器解析为IP地址。先本地缓存(浏览器、操作系统)》ISP网络服务商》根服务器(根域、一级域、二级域、三级域)建立TCP连接,HTTP协议是基于TCP协议的,浏览器与服务端通过三次握手建立TCP连接(如果是HTTPS则是四次握手,多了因此SSL握手)。下载数据,向服务端发送请求报文(header+b</div> </li> <li><a href="/article/63.htm" title="关于旗正规则引擎规则中的上传和下载问题" target="_blank">关于旗正规则引擎规则中的上传和下载问题</a> <span class="text-muted">何必如此</span> <a class="tag" taget="_blank" href="/search/%E6%96%87%E4%BB%B6%E4%B8%8B%E8%BD%BD/1.htm">文件下载</a><a class="tag" taget="_blank" href="/search/%E5%8E%8B%E7%BC%A9/1.htm">压缩</a><a class="tag" taget="_blank" href="/search/jsp/1.htm">jsp</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0/1.htm">文件上传</a> <div>文件的上传下载都是数据流的输入输出,大致流程都是一样的。 一、文件打包下载 1.文件写入压缩包 string mainPath="D:\upload\";     下载路径 string tmpfileName=jar.zip;        &n</div> </li> <li><a href="/article/190.htm" title="【Spark九十九】Spark Streaming的batch interval时间内的数据流转源码分析" target="_blank">【Spark九十九】Spark Streaming的batch interval时间内的数据流转源码分析</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/Stream/1.htm">Stream</a> <div>  以如下代码为例(SocketInputDStream): Spark Streaming从Socket读取数据的代码是在SocketReceiver的receive方法中,撇开异常情况不谈(Receiver有重连机制,restart方法,默认情况下在Receiver挂了之后,间隔两秒钟重新建立Socket连接),读取到的数据通过调用store(textRead)方法进行存储。数据</div> </li> <li><a href="/article/317.htm" title="spark master web ui 端口8080被占用解决方法" target="_blank">spark master web ui 端口8080被占用解决方法</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/8080/1.htm">8080</a><a class="tag" taget="_blank" href="/search/%E7%AB%AF%E5%8F%A3%E5%8D%A0%E7%94%A8/1.htm">端口占用</a><a class="tag" taget="_blank" href="/search/spark/1.htm">spark</a><a class="tag" taget="_blank" href="/search/master+web+ui/1.htm">master web ui</a> <div>spark master web ui 默认端口为8080,当系统有其它程序也在使用该接口时,启动master时也不会报错,spark自己会改用其它端口,自动端口号加1,但为了可以控制到指定的端口,我们可以自行设置,修改方法:   1、cd SPARK_HOME/sbin   2、vi start-master.sh     3、定位到下面部分</div> </li> <li><a href="/article/444.htm" title="oracle_执行计划_谓词信息和数据获取" target="_blank">oracle_执行计划_谓词信息和数据获取</a> <span class="text-muted">周凡杨</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E6%89%A7%E8%A1%8C%E8%AE%A1%E5%88%92/1.htm">执行计划</a> <div>  oracle_执行计划_谓词信息和数据获取(上) 一:简要说明 在查看执行计划的信息中,经常会看到两个谓词filter和access,它们的区别是什么,理解了这两个词对我们解读Oracle的执行计划信息会有所帮助。 简单说,执行计划如果显示是access,就表示这个谓词条件的值将会影响数据的访问路径(表还是索引),而filter表示谓词条件的值并不会影响数据访问路径,只起到</div> </li> <li><a href="/article/571.htm" title="spring中datasource配置" target="_blank">spring中datasource配置</a> <span class="text-muted">g21121</span> <a class="tag" taget="_blank" href="/search/dataSource/1.htm">dataSource</a> <div>datasource配置有很多种,我介绍的一种是采用c3p0的,它的百科地址是: http://baike.baidu.com/view/920062.htm   <!-- spring加载资源文件 --> <bean name="propertiesConfig" class="org.springframework.b</div> </li> <li><a href="/article/698.htm" title="web报表工具FineReport使用中遇到的常见报错及解决办法(三)" target="_blank">web报表工具FineReport使用中遇到的常见报错及解决办法(三)</a> <span class="text-muted">老A不折腾</span> <a class="tag" taget="_blank" href="/search/finereport/1.htm">finereport</a><a class="tag" taget="_blank" href="/search/FAQ/1.htm">FAQ</a><a class="tag" taget="_blank" href="/search/%E6%8A%A5%E8%A1%A8%E8%BD%AF%E4%BB%B6/1.htm">报表软件</a> <div>这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己。   出现问题先搜一下文档上有没有,再看看度娘有没有,再看看论坛有没有。有报错要看日志。下面简单罗列下常见的问题,大多文档上都有提到的。 1、repeated column width is largerthan paper width: 这个看这段话应该是很好理解的。比如做的模板页面宽度只能放</div> </li> <li><a href="/article/825.htm" title="mysql 用户管理" target="_blank">mysql 用户管理</a> <span class="text-muted">墙头上一根草</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/user/1.htm">user</a> <div>1.新建用户 //登录MYSQL@>mysql -u root -p@>密码//创建用户mysql> insert into mysql.user(Host,User,Password) values(‘localhost’,'jeecn’,password(‘jeecn’));//刷新系统权限表mysql>flush privileges;这样就创建了一个名为:</div> </li> <li><a href="/article/952.htm" title="关于使用Spring导致c3p0数据库死锁问题" target="_blank">关于使用Spring导致c3p0数据库死锁问题</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/Spring+%E5%85%A5%E9%97%A8/1.htm">Spring 入门</a><a class="tag" taget="_blank" href="/search/Spring+%E5%AE%9E%E4%BE%8B/1.htm">Spring 实例</a><a class="tag" taget="_blank" href="/search/Spring3/1.htm">Spring3</a><a class="tag" taget="_blank" href="/search/Spring+%E6%95%99%E7%A8%8B/1.htm">Spring 教程</a> <div>这个问题我实在是为整个 springsource 的员工蒙羞 如果大家使用 spring 控制事务,使用 Open Session In View 模式, com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.</div> </li> <li><a href="/article/1079.htm" title="百度词库联想" target="_blank">百度词库联想</a> <span class="text-muted">annan211</span> <a class="tag" taget="_blank" href="/search/%E7%99%BE%E5%BA%A6/1.htm">百度</a> <div> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>RunJS</title&g</div> </li> <li><a href="/article/1206.htm" title="int数据与byte之间的相互转换实现代码" target="_blank">int数据与byte之间的相互转换实现代码</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/%E4%BD%8D%E7%A7%BB/1.htm">位移</a><a class="tag" taget="_blank" href="/search/int%E8%BD%ACbyte/1.htm">int转byte</a><a class="tag" taget="_blank" href="/search/byte%E8%BD%ACint/1.htm">byte转int</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E6%9C%AC%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%E7%9A%84%E5%AE%9E%E7%8E%B0/1.htm">基本数据类型的实现</a> <div>在BMP文件和文件压缩时需要用到的int与byte转换,现将理解的贴出来;   主要是要理解;位移等概念 http://baihe747.iteye.com/blog/2078029   int转byte;   byte转int;   /** * 字节转成int,int转成字节 * @author Administrator * </div> </li> <li><a href="/article/1333.htm" title="简单模拟实现数据库连接池" target="_blank">简单模拟实现数据库连接池</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/thread/1.htm">thread</a><a class="tag" taget="_blank" href="/search/java%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">java多线程</a><a class="tag" taget="_blank" href="/search/%E7%AE%80%E5%8D%95%E6%A8%A1%E6%8B%9F%E5%AE%9E%E7%8E%B0%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BF%9E%E6%8E%A5%E6%B1%A0/1.htm">简单模拟实现数据库连接池</a> <div>简单模拟实现数据库连接池 实例1: package com.bijian.thread; public class DB { //private static final int MAX_COUNT = 10; private static final DB instance = new DB(); private int count = 0; private i</div> </li> <li><a href="/article/1460.htm" title="一种基于Weblogic容器的鉴权设计" target="_blank">一种基于Weblogic容器的鉴权设计</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/weblogic/1.htm">weblogic</a> <div>        服务器对请求的鉴权可以在请求头中加Authorization之类的key,将用户名、密码保存到此key对应的value中,当然对于用户名、密码这种高机密的信息,应该对其进行加砂加密等,最简单的方法如下: String vuser_id = "weblogic"; String vuse</div> </li> <li><a href="/article/1587.htm" title="【RPC框架Hessian二】Hessian 对象序列化和反序列化" target="_blank">【RPC框架Hessian二】Hessian 对象序列化和反序列化</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/hessian/1.htm">hessian</a> <div> 任何一个对象从一个JVM传输到另一个JVM,都要经过序列化为二进制数据(或者字符串等其他格式,比如JSON),然后在反序列化为Java对象,这最后都是通过二进制的数据在不同的JVM之间传输(一般是通过Socket和二进制的数据传输),本文定义一个比较符合工作中。   1. 定义三个POJO    Person类 package com.tom.hes</div> </li> <li><a href="/article/1714.htm" title="【Hadoop十四】Hadoop提供的脚本的功能" target="_blank">【Hadoop十四】Hadoop提供的脚本的功能</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a> <div>1. hadoop-daemon.sh 1.1 启动HDFS ./hadoop-daemon.sh start namenode ./hadoop-daemon.sh start datanode  通过这种逐步启动的方式,比start-all.sh方式少了一个SecondaryNameNode进程,这不影响Hadoop的使用,其实在 Hadoop2.0中,SecondaryNa</div> </li> <li><a href="/article/1841.htm" title="中国互联网走在“灰度”上" target="_blank">中国互联网走在“灰度”上</a> <span class="text-muted">ronin47</span> <a class="tag" taget="_blank" href="/search/%E7%AE%A1%E7%90%86+%E7%81%B0%E5%BA%A6/1.htm">管理 灰度</a> <div>中国互联网走在“灰度”上(转) 文/孕峰   第一次听说灰度这个词,是任正非说新型管理者所需要的素质。第二次听说是来自马化腾。似乎其他人包括马云也用不同的语言说过类似的意思。   灰度这个词所包含的意义和视野是广远的。要理解这个词,可能同样要用“灰度”的心态。灰度的反面,是规规矩矩,清清楚楚,泾渭分明,严谨条理,是决不妥协,不转弯,认死理。黑白分明不是灰度,像彩虹那样</div> </li> <li><a href="/article/1968.htm" title="java-51-输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。" target="_blank">java-51-输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div> public class PrintMatrixClockwisely { /** * Q51.输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 例如:如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 </div> </li> <li><a href="/article/2095.htm" title="mongoDB 用户管理" target="_blank">mongoDB 用户管理</a> <span class="text-muted">开窍的石头</span> <a class="tag" taget="_blank" href="/search/mongoDB%E7%94%A8%E6%88%B7%E7%AE%A1%E7%90%86/1.htm">mongoDB用户管理</a> <div>  1:添加用户    第一次设置用户需要进入admin数据库下设置超级用户(use admin)      db.addUsr({user:'useName',pwd:'111111',roles:[readWrite,dbAdmin]});    第一个参数用户的名字    第二个参数</div> </li> <li><a href="/article/2222.htm" title="[游戏与生活]玩暗黑破坏神3的一些问题" target="_blank">[游戏与生活]玩暗黑破坏神3的一些问题</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E7%94%9F%E6%B4%BB/1.htm">生活</a> <div>    暗黑破坏神3是有史以来最让人激动的游戏。。。。但是有几个问题需要我们注意      玩这个游戏的时间,每天不要超过一个小时,且每次玩游戏最好在白天      结束游戏之后,最好在太阳下面来晒一下身上的暗黑气息,让自己恢复人的生气   &nb</div> </li> <li><a href="/article/2349.htm" title="java 二维数组如何存入数据库" target="_blank">java 二维数组如何存入数据库</a> <span class="text-muted">cuiyadll</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>using System; using System.Linq; using System.Text; using System.Windows.Forms; using System.Xml; using System.Xml.Serialization; using System.IO; namespace WindowsFormsApplication1 { </div> </li> <li><a href="/article/2476.htm" title="本地事务和全局事务Local Transaction and Global Transaction(JTA)" target="_blank">本地事务和全局事务Local Transaction and Global Transaction(JTA)</a> <span class="text-muted">darrenzhu</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/local/1.htm">local</a><a class="tag" taget="_blank" href="/search/global/1.htm">global</a><a class="tag" taget="_blank" href="/search/transaction/1.htm">transaction</a> <div>Configuring Spring and JTA without full Java EE http://spring.io/blog/2011/08/15/configuring-spring-and-jta-without-full-java-ee/ Spring doc -Transaction Management http://docs.spring.io/spri</div> </li> <li><a href="/article/2603.htm" title="Linux命令之alias - 设置命令的别名,让 Linux 命令更简练" target="_blank">Linux命令之alias - 设置命令的别名,让 Linux 命令更简练</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/alias/1.htm">alias</a> <div>用途说明 设置命令的别名。在linux系统中如果命令太长又不符合用户的习惯,那么我们可以为它指定一个别名。虽然可以为命令建立“链接”解决长文件名的问 题,但对于带命令行参数的命令,链接就无能为力了。而指定别名则可以解决此类所有问题【1】。常用别名来简化ssh登录【见示例三】,使长命令变短,使常 用的长命令行变短,强制执行命令时询问等。   常用参数 格式:alias 格式:ali</div> </li> <li><a href="/article/2730.htm" title="yii2 restful web服务[格式响应]" target="_blank">yii2 restful web服务[格式响应]</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/yii2/1.htm">yii2</a> <div>响应格式 当处理一个 RESTful API 请求时, 一个应用程序通常需要如下步骤 来处理响应格式: 确定可能影响响应格式的各种因素, 例如媒介类型, 语言, 版本, 等等。 这个过程也被称为 content negotiation。 资源对象转换为数组, 如在 Resources 部分中所描述的。 通过 [[yii\rest\Serializer]]</div> </li> <li><a href="/article/2857.htm" title="MongoDB索引调优(2)——[十]" target="_blank">MongoDB索引调优(2)——[十]</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/MongoDB%E7%B4%A2%E5%BC%95%E4%BC%98%E5%8C%96/1.htm">MongoDB索引优化</a> <div>转载请出自出处:http://eksliang.iteye.com/blog/2178555 一、概述       上一篇文档中也说明了,MongoDB的索引几乎与关系型数据库的索引一模一样,优化关系型数据库的技巧通用适合MongoDB,所有这里只讲MongoDB需要注意的地方 二、索引内嵌文档     可以在嵌套文档的键上建立索引,方式与正常</div> </li> <li><a href="/article/2984.htm" title="当滑动到顶部和底部时,实现Item的分离效果的ListView" target="_blank">当滑动到顶部和底部时,实现Item的分离效果的ListView</a> <span class="text-muted">gundumw100</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>拉动ListView,Item之间的间距会变大,释放后恢复原样; package cn.tangdada.tangbang.widget; import android.annotation.TargetApi; import android.content.Context; import android.content.res.TypedArray; import andr</div> </li> <li><a href="/article/3111.htm" title="程序员用HTML5制作的爱心树表白动画" target="_blank">程序员用HTML5制作的爱心树表白动画</a> <span class="text-muted">ini</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a> <div>体验效果:http://keleyi.com/keleyi/phtml/html5/31.htmHTML代码如下: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="UTF-8" > <ti</div> </li> <li><a href="/article/3238.htm" title="预装windows 8 系统GPT模式的ThinkPad T440改装64位 windows 7旗舰版" target="_blank">预装windows 8 系统GPT模式的ThinkPad T440改装64位 windows 7旗舰版</a> <span class="text-muted">kakajw</span> <a class="tag" taget="_blank" href="/search/ThinkPad/1.htm">ThinkPad</a><a class="tag" taget="_blank" href="/search/%E9%A2%84%E8%A3%85/1.htm">预装</a><a class="tag" taget="_blank" href="/search/%E6%94%B9%E8%A3%85/1.htm">改装</a><a class="tag" taget="_blank" href="/search/windows+7/1.htm">windows 7</a><a class="tag" taget="_blank" href="/search/windows+8/1.htm">windows 8</a> <div>  该教程具有普遍参考性,特别适用于联想的机器,其他品牌机器的处理过程也大同小异。 该教程是个人多次尝试和总结的结果,实用性强,推荐给需要的人!   缘由 小弟最近入手笔记本ThinkPad T440,但是特别不能习惯笔记本出厂预装的Windows 8系统,而且厂商自作聪明地预装了一堆没用的应用软件,消耗不少的系统资源(本本的内存为4G,系统启动完成时,物理内存占用比</div> </li> <li><a href="/article/3365.htm" title="Nginx学习笔记" target="_blank">Nginx学习笔记</a> <span class="text-muted">mcj8089</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a> <div>一、安装nginx             1、在nginx官方网站下载一个包,下载地址是:  http://nginx.org/download/nginx-1.4.2.tar.gz      2、WinSCP(ftp上传工</div> </li> <li><a href="/article/3492.htm" title="mongodb 聚合查询每天论坛链接点击次数" target="_blank">mongodb 聚合查询每天论坛链接点击次数</a> <span class="text-muted">qiaolevip</span> <a class="tag" taget="_blank" href="/search/%E6%AF%8F%E5%A4%A9%E8%BF%9B%E6%AD%A5%E4%B8%80%E7%82%B9%E7%82%B9/1.htm">每天进步一点点</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E6%B0%B8%E6%97%A0%E6%AD%A2%E5%A2%83/1.htm">学习永无止境</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/%E7%BA%B5%E8%A7%82%E5%8D%83%E8%B1%A1/1.htm">纵观千象</a> <div>/* 18 */ { "_id" : ObjectId("5596414cbe4d73a327e50274"), "msgType" : "text", "sendTime" : ISODate("2015-07-03T08:01:16.000Z"</div> </li> <li><a href="/article/3619.htm" title="java术语(PO/POJO/VO/BO/DAO/DTO)" target="_blank">java术语(PO/POJO/VO/BO/DAO/DTO)</a> <span class="text-muted">Luob.</span> <a class="tag" taget="_blank" href="/search/DAO/1.htm">DAO</a><a class="tag" taget="_blank" href="/search/POJO/1.htm">POJO</a><a class="tag" taget="_blank" href="/search/DTO/1.htm">DTO</a><a class="tag" taget="_blank" href="/search/po/1.htm">po</a><a class="tag" taget="_blank" href="/search/VO+BO/1.htm">VO BO</a> <div> PO(persistant object) 持久对象 在o/r 映射的时候出现的概念,如果没有o/r映射,就没有这个概念存在了.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对数据库的操作. VO(value object) 值对象 通</div> </li> <li><a href="/article/3746.htm" title="算法复杂度" target="_blank">算法复杂度</a> <span class="text-muted">Wuaner</span> <a class="tag" taget="_blank" href="/search/Algorithm/1.htm">Algorithm</a> <div>Time Complexity & Big-O: http://stackoverflow.com/questions/487258/plain-english-explanation-of-big-o http://bigocheatsheet.com/ http://www.sitepoint.com/time-complexity-algorithms/ </div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>