无法读取dbinfo.properties里的配置文件信息

我想实现的是一个简单的登陆过程,
里面有4个类:分别是Login.java User.java DoLogin.java DBUtil.java

还有一个配置文件: dbinfo.properties
这是项目目录:
图片说明

这个是报错信息
图片说明

这个是dbinfo.properties

图片说明

这个是 DBUtil.java

图片说明

求解决!!!谢谢大家了。。。。。。

2个回答

加引号getString(”driverClass”);

InputStream is = Test.class.getResourceAsStream("dbinfo.properties");
Properties p = new Properties();
p.load(is);
driverClass = p.get("driverClass)

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
c3p0连接池中获取的Connection对象的close()方法是真的把连接给关闭了?
自己做写了一个管理数据源的DBManager,构想中从数据源里面获取的Connection使用完之后执行close()方法,然后把Connection对象闲置回连接池中。 但是测试出来的结果好像每次执行close()之后connection就销毁了。 代码如下: DBManager.java -------------- package ben.DBUtils; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.SQLException; import java.util.HashMap; import java.util.HashSet; import java.util.Properties; import java.util.Set; import com.mchange.v2.c3p0.ComboPooledDataSource; import org.apache.log4j.Logger; /** * Created with IntelliJ IDEA. * User: Ben * Date: 13-7-3 * Time: 下午5:06 * To change this template use File | Settings | File Templates. */ public class DBManager { //保存数据库连接池的容器 private static HashMap<String, ComboPooledDataSource> datasourceMap = new HashMap<String, ComboPooledDataSource>(); private final static ThreadLocal<Connection> conns = new ThreadLocal<Connection>(); private static Logger logger = Logger.getLogger(DBManager.class); static { InitDataSource(null); } /** * 初始化连接池 * */ private final static void InitDataSource(Properties dbProperties){ try{ if (dbProperties == null){ dbProperties = new Properties(); dbProperties.load(DBManager.class.getClassLoader().getResourceAsStream("dbInfo.properties")); } //获取数据源名称 Set<String> keys = new HashSet<String>(); for (Object key : dbProperties.keySet()){ String skey = (String)key; Integer point = skey.indexOf("."); keys.add(skey.substring(0, point)); } //实例化DataSource并放入容器中 for (String key : keys) { ComboPooledDataSource ds = new ComboPooledDataSource(); ds.setDriverClass(dbProperties.getProperty(key + "." + "Driver")); ds.setJdbcUrl(dbProperties.getProperty(key + "." + "Url")); ds.setUser(dbProperties.getProperty(key + "." + "User")); ds.setPassword(dbProperties.getProperty(key + "." + "Password")); ds.setMaxPoolSize(Integer.parseInt(dbProperties.getProperty(key + "." + "MaxPoolSize"))); ds.setMinPoolSize(Integer.parseInt(dbProperties.getProperty(key + "." + "MinPoolSize"))); ds.setMaxIdleTime(Integer.parseInt(dbProperties.getProperty(key + "." + "MaxIdleTime"))); ds.setInitialPoolSize(Integer.parseInt(dbProperties.getProperty(key + "." + "InitialPoolSize"))); ds.setAcquireIncrement(Integer.parseInt(dbProperties.getProperty(key + "." + "AcquireIncrement"))); ds.setAcquireRetryAttempts(Integer.parseInt(dbProperties.getProperty(key + "." + "AcquireRetryAttempts"))); ds.setAcquireRetryDelay(Integer.parseInt(dbProperties.getProperty(key + "." + "AcquireRetryDelay"))); ds.setMaxStatements(Integer.parseInt(dbProperties.getProperty(key + "." + "MaxStatements"))); ds.setIdleConnectionTestPeriod(Integer.parseInt(dbProperties.getProperty(key + "." + "IdleConnectionTestPeriod"))); ds.setCheckoutTimeout(Integer.parseInt(dbProperties.getProperty(key + "." + "CheckoutTimeout"))); ds.setTestConnectionOnCheckin(Boolean.parseBoolean(dbProperties.getProperty(key + "." + "TestConnectionOnCheckin"))); ds.setTestConnectionOnCheckout(Boolean.parseBoolean(dbProperties.getProperty(key + "." + "TestConnectionOnCheckout"))); datasourceMap.put(key, ds); Connection conn = getConnection(key); DatabaseMetaData metaData = conn.getMetaData(); logger.info("Using DataSource: " + conn.getClass().getName()); closeConnection(); } } catch (Exception e){ logger.error("DataSource Error:" + e.toString()); } } /** * 断开连接池 * */ public final static void closeDataSource(String dataSourceName){ try{ ComboPooledDataSource dataSource = datasourceMap.get(dataSourceName); dataSource.close(); } catch (Exception e){ logger.error("Unable to destroy DataSource! " + e.toString()); } } /** * 获取连接 * @return Connection * */ public final static Connection getConnection(String dataSourceName) throws SQLException{ Connection conn = conns.get(); if (conn == null || conn.isClosed()){ ComboPooledDataSource dataSource = datasourceMap.get(dataSourceName); conn = dataSource.getConnection(); conns.set(conn); } return conn; } /** * 关闭连接 * */ public final static void closeConnection(){ Connection conn = conns.get(); try{ if (conn != null && !conn.isClosed()){ conn.setAutoCommit(true); conn.close(); } } catch (SQLException ex){ logger.error("Unable to close connection! " + ex.toString()); } finally { conns.remove(); //conns.set(null); } } } ---------- dbInfo.properties ----------------- DemoData.AcquireIncrement = 2 DemoData.AcquireRetryAttempts = 30 DemoData.AcquireRetryDelay = 1000 DemoData.CheckoutTimeout = 3000 DemoData.Driver = com.microsoft.sqlserver.jdbc.SQLServerDriver DemoData.IdleConnectionTestPeriod = 18000 DemoData.InitialPoolSize = 2 DemoData.MaxIdleTime = 300 DemoData.MaxPoolSize = 100 DemoData.MaxStatements = 1000 DemoData.MinPoolSize = 2 DemoData.Password = 123 DemoData.TestConnectionOnCheckin = false DemoData.TestConnectionOnCheckout = false DemoData.Url = jdbc:sqlserver://localhost:1433;DatabaseName=DemoData DemoData.User = sa ---------- 测试代码:TestDBManager.java ----------------------- package ben.DBUtils; import java.sql.Connection; /** * Created with IntelliJ IDEA. * User: Ben * Date: 13-7-6 * Time: 上午12:28 * To change this template use File | Settings | File Templates. */ public class TestDBManager { public static void main(String[] args) { for (Integer i=0; i<10; i++){ try{ System.out.println(DBManager.getConnection("DemoData")); DBManager.closeConnection(); System.out.println("---------------------------"); } catch (Exception ex){ ex.printStackTrace(); } } } } 打印出来的结果每次都不一样 com.mchange.v2.c3p0.impl.NewProxyConnection@ff5c225 --------------------------- com.mchange.v2.c3p0.impl.NewProxyConnection@5bafcc2c --------------------------- com.mchange.v2.c3p0.impl.NewProxyConnection@ded0b93 --------------------------- com.mchange.v2.c3p0.impl.NewProxyConnection@25057fe --------------------------- com.mchange.v2.c3p0.impl.NewProxyConnection@198ad24a --------------------------- com.mchange.v2.c3p0.impl.NewProxyConnection@1228bd68 --------------------------- com.mchange.v2.c3p0.impl.NewProxyConnection@36db09fa --------------------------- com.mchange.v2.c3p0.impl.NewProxyConnection@35886ba1 --------------------------- com.mchange.v2.c3p0.impl.NewProxyConnection@17d8986 --------------------------- com.mchange.v2.c3p0.impl.NewProxyConnection@2bb9e538 ---------------------------
java.lang.NullPointerException--at com.alibaba.druid.pool.DruidPooledConnection.prepareStatement
使用druid封装了一下,传入数据库连接信息和sql语句进行执行,但偶尔报错,没找到规律,请大神们帮看看是什么原因? 相关网上的资料也按照配置过,问题还没没有得到解决 druid 连接池 close connection error问题通过配置testOnBorrow=true暂未重现 以下是报错信息,这个问题一直没得到解决 ``` 返回结果-------------:1 系统异常了CONN:com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@1b4197e1 系统异常了SQL:insert into ZFGL.BILLS_DETAIL ( f_timestamp , BCODE , BILLNO , BILLSDETAILGUID , BNAME , ECODE , ECONOMYGUID , ENAME , ENTERPRISEGUID , FUNCTIONGUID , GOVECOGUID , GOVKCODE , GOVKNAME , GUID , INAME , KCODE , KNAME , PAYMODCODE , PAYMODID , PAYMODNAME , PROGRAMCODE , PROGRAMGUID , PROGRAMTYPECODE , PROGRAMTYPEID , PROGRAMTYPENAME , RELAID , RESOURCECODE , RESOURCEGUID , TOTALMONEY , TZMC , YEAR) values ( to_timestamp('2019-03-12 11:43:16.637953','yyyy-mm-dd hh24:mi:ss.ff6') ,'2040601' ,'2019010001000004' ,'' ,'行XXXXX' ,'010001' ,'C3146047304548D1AAD0066E62595F52' ,'克XXXX' ,'037A71055FCD4FF882F7E575120FEEBD' ,'' ,'' ,'' ,'' ,'ED494B52F7B249C5B6E24F52D92E12E7' ,'公用支出' ,'30XXXX' ,'福XXXX' ,'12' ,'870517B306F94DFF84305120BCDC26B6' ,'财政授权支付' ,'00019992' ,'34772B4128B14606982C532BCAB0316D' ,'01' ,'2F0DF49684EE465CBC28FD1CC908F140' ,'基本支XX 76651498380024E0530A2CA82B62C8' ,'11' ,'7EF59F8C9FF7424989F4E3ED61254B4F' ,'802.811223般公共XXXX' 19' ) java.lang.NullPointerException at com.alibaba.druid.pool.DruidPooledConnection.prepareStatement(DruidPooledConnection.java:350) at com.yicaida.dal.serviceimpl.DynamicConnServiceImpl.execSql(DynamicConnServiceImpl.java:295) at com.yicaida.dx.serviceimpl.DxServiceImpl.runApiNow(DxServiceImpl.java:332) at com.alibaba.dubbo.common.bytecode.Wrapper7.invokeMethod(Wrapper7.java) at com.alibaba.dubbo.rpc.proxy.javassist.JavassistProxyFactory$1.doInvoke(JavassistProxyFactory.java:46) at com.alibaba.dubbo.rpc.proxy.AbstractProxyInvoker.invoke(AbstractProxyInvoker.java:72) at com.alibaba.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:53) at com.alibaba.dubbo.rpc.filter.ExceptionFilter.invoke(ExceptionFilter.java:64) at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) at com.alibaba.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:75) at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) at com.alibaba.dubbo.rpc.filter.TimeoutFilter.invoke(TimeoutFilter.java:42) at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) at com.alibaba.dubbo.rpc.protocol.dubbo.filter.TraceFilter.invoke(TraceFilter.java:78) at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) at com.alibaba.dubbo.rpc.filter.ContextFilter.invoke(ContextFilter.java:60) at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) at com.alibaba.dubbo.rpc.filter.GenericFilter.invoke(GenericFilter.java:112) at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) at com.alibaba.dubbo.rpc.filter.ClassLoaderFilter.invoke(ClassLoaderFilter.java:38) at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) at com.alibaba.dubbo.rpc.filter.EchoFilter.invoke(EchoFilter.java:38) at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol$1.reply(DubboProtocol.java:108) at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:84) at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:170) at com.alibaba.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:52) at com.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:82) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) ``` 源代码如下 ``` public Integer execSql(DBInfoBean dbinfo, String sqlstr) { int result; PreparedStatement ps = null; try { conn = getConn(dbinfo); if (conn.isClosed() || conn == null) { conn = getConn(dbinfo); } ps = conn.prepareStatement(sqlstr); result = ps.executeUpdate(); } catch (Exception err) { System.out.println("系统异常了CONN:" + conn); System.out.println("系统异常了SQL:" + sqlstr); err.printStackTrace(); result = -1; } finally { if (ps != null) { try { ps.close(); } catch (SQLException e) { e.printStackTrace(); result = -1; } } close(); } System.out.println("返回结果-------------:" + result); return result; } ```
访问php页面报错mysql_connect(): Headers and client library minor version mismatch. Headers:50635 Library:50552
nginx+mysql+php环境,访问的php页面报错 ``` ------ errID:2 errStr:mysql_connect(): Headers and client library minor version mismatch. Headers:50635 Library:50552 errFile:IWEB_PATH/db/driver/mysql_class.php errLine:27 errTime:19-10-11 08:54:43 ##出错时变量的值:## array ( 'dbinfo' => array ( 'host' => 'localhost:3306', 'user' => 'root', 'passwd' => '123456', 'name' => 'iwebshop', ), ) ------- ``` 根据网上的答案 查看系统的php版本 ``` [root@ekihin bin]# ./php -i|grep Client PHP Warning: Unknown: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Chongqing' for 'CST/8.0/no DST' instead in Unknown on line 0 Client API version => 5.5.52-MariaDB Client statistics => Client API version => mysqlnd 5.0.8-dev - 20102224 - $Id: 731e5b87ba42146a687c29995d2dfd8b4e40b325 $ Soap Client => enabled ``` 然后根据他们的方法试了一下 还是不行 请问要怎么解决这个问题
java数据库登陆界面,在最下面的ActionPerformed中,数据库的语句是不是有错?
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import java.util.*; import java.sql.*; public class Login extends Frame implements ActionListener { JLabel Labelusernumber=new JLabel("用户名:"); JLabel Labelpassword=new JLabel("密码:"); JLabel Labelshenfen=new JLabel("身份:"); JTextField TextFieldusernumber=new JTextField(); JPasswordField FieldPassword=new JPasswordField(); JButton button=new JButton("登录"); JComboBox JC=new JComboBox(); public Login() { setTitle("超市销售信息管理系统"); setLayout(null); Labelusernumber.setBounds(50,40,60,20); add(Labelusernumber); TextFieldusernumber.setBounds(100,40,80,20); add(TextFieldusernumber); Labelpassword.setBounds(50,80,60,20); add(Labelpassword); FieldPassword.setBounds(100,80,80,20); add(FieldPassword); Labelshenfen.setBounds(50,120,60,20); add(Labelshenfen); JC.setBounds(100,120,80,20); add(JC); JC.addItem(new String("老板")); JC.addItem(new String("雇员")); button.setBounds(50,160,60,20); add(button); button.addActionListener(this); setVisible(true); setBounds(0,0,230,200); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } public static void main(String args[]) { new Login(); } public void actionPerformed(ActionEvent e) { if(e.getSource()==button) { String unum=TextFieldusernumber.getText(); String upassword=FieldPassword.getText(); String box=(String)JC.getSelectedItem(); String sql="select * from employee where Emnum='"+unum+"' and Emkey='"+upassword+"'"; if(box.equals("老板")) { if((unum!=null&&(unum.equals("sada")))&&(upassword!=null&&(upassword.equals("0231")))) { new ShowButton(); //new bossmanage(); } } else if(box.equals("雇员")) { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con=DriverManager.getConnection("jdbc:odbc:DBInfo","user","123456"); Statement stm=con.createStatement(); ResultSet rs=stm.executeQuery(sql); if(rs.next()) { new ShowButton(); //new employeemanage(); } } catch(Exception ee) { } } } } }![图片说明](https://img-ask.csdn.net/upload/201511/19/1447946829_228495.png)
这时间是加密了还是怎么了,怎么样才能写到数据库里面啊
node采集代码 ``` function submitDataInput(data){ log('提交从前台录入第'+data.number+'数据:'+data.data); try{ var client=mysql.createClient(config.dbinfo); }catch(err){ throw('连接数据库失败'); } data.time=Math.floor((new Date(data.time)).getTime()/1000); client.query("insert into blast_data(type, time, number, data) values(?,?,?,?)", [data.type, data.time, data.number, data.data], function(err, result){ if(err){ //console.log(err); // 普通出错 if(err.number==1062){ // 数据已经存在 log('第'+data.number+'期数据已经存在数据'); }else{ log('运行出错:'+err.message); } }else if(result){ // 正常 log('写入第'+data.number+'期数据成功'); // 计算奖品 //setTimeout(requestKj, 500, data.type, data.number); setTimeout(calcJ, 500, data); }else{ global.log('未知运行出错'); } }); client.end(); } ``` 后台自己修改的代码 ``` //添加开奖号 public final function added(){ $para=$_POST; $para['type']=intval($para['type']); $para['key']=$this->encrypt_key; $sql ="insert into {$this->prename}data(type, time, number, data)values({$para['type']}','{$para['time,']}','{$para['number']}','{$para['data']}')"; $return =$this->getRow($sql); } public final function updatedataed(){ $id=intval($_POST['id']); $para['data']=$_POST['data']; $sql="update {$this->prename}data set data='{$para['data']}' where id={$id}"; if($this->update($sql)){ echo '修改成功'; ``` 正常的和非正常的对比图![图片说明](https://img-ask.csdn.net/upload/201706/13/1497320900_83544.png) 数据库里面TIME的显示![图片说明](https://img-ask.csdn.net/upload/201706/13/1497320944_517959.png)
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载 点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。 ...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
JDK12 Collectors.teeing 你真的需要了解一下
前言 在 Java 12 里面有个非常好用但在官方 JEP 没有公布的功能,因为它只是 Collector 中的一个小改动,它的作用是 merge 两个 collector 的结果,这句话显得很抽象,老规矩,我们先来看个图(这真是一个不和谐的图????): 管道改造经常会用这个小东西,通常我们叫它「三通」,它的主要作用就是将 downstream1 和 downstre...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
【图解经典算法题】如何用一行代码解决约瑟夫环问题
约瑟夫环问题算是很经典的题了,估计大家都听说过,然后我就在一次笔试中遇到了,下面我就用 3 种方法来详细讲解一下这道题,最后一种方法学了之后保证让你可以让你装逼。 问题描述:编号为 1-N 的 N 个士兵围坐在一起形成一个圆圈,从编号为 1 的士兵开始依次报数(1,2,3…这样依次报),数到 m 的 士兵会被杀死出列,之后的士兵再从 1 开始报数。直到最后剩下一士兵,求这个士兵的编号。 1、方...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
GitHub标星近1万:只需5秒音源,这个网络就能实时“克隆”你的声音
作者 | Google团队 译者 | 凯隐 编辑 | Jane 出品 | AI科技大本营(ID:rgznai100) 本文中,Google 团队提出了一种文本语音合成(text to speech)神经系统,能通过少量样本学习到多个不同说话者(speaker)的语音特征,并合成他们的讲话音频。此外,对于训练时网络没有接触过的说话者,也能在不重新训练的情况下,仅通过未知...
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下...
【管理系统课程设计】美少女手把手教你后台管理
【文章后台管理系统】URL设计与建模分析+项目源码+运行界面 栏目管理、文章列表、用户管理、角色管理、权限管理模块(文章最后附有源码) 1. 这是一个什么系统? 1.1 学习后台管理系统的原因 随着时代的变迁,现如今各大云服务平台横空出世,市面上有许多如学生信息系统、图书阅读系统、停车场管理系统等的管理系统,而本人家里就有人在用烟草销售系统,直接在网上完成挑选、购买与提交收货点,方便又快捷。 试想,若没有烟草销售系统,本人家人想要购买烟草,还要独自前往药...
4G EPS 第四代移动通信系统
目录 文章目录目录4G 与 LTE/EPCLTE/EPC 的架构E-UTRANE-UTRAN 协议栈eNodeBEPCMMES-GWP-GWHSSLTE/EPC 协议栈概览 4G 与 LTE/EPC 4G,即第四代移动通信系统,提供了 3G 不能满足的无线网络宽带化,主要提供数据(上网)业务。而 LTE(Long Term Evolution,长期演进技术)是电信领域用于手机及数据终端的高速无线通...
日均350000亿接入量,腾讯TubeMQ性能超过Kafka
整理 | 夕颜出品 | AI科技大本营(ID:rgznai100)【导读】近日,腾讯开源动作不断,相继开源了分布式消息中间件TubeMQ,基于最主流的 OpenJDK8开发的Tencent Kona JDK,分布式HTAP数据库 TBase,企业级容器平台TKEStack,以及高性能图计算框架Plato。短短一周之内,腾讯开源了五大重点项目。其中,TubeMQ是腾讯大数据平台部门应用的核心组件,...
8年经验面试官详解 Java 面试秘诀
作者 |胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。 Java程序员准备和投递简历的实...
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车?某胡同口的煎饼摊一年能卖出多少个煎饼?深圳有多少个产品经理?一辆公交车里能装下多少个乒乓球?一个正常成年人有多少根头发?这类估算问题,被称为费米问题,是以科学家费米命名的。为什么面试会问这种问题呢?这类问题能把两类人清楚地区分出来。一类是具有文科思维的人,擅长赞叹和模糊想象,它主要依靠的是人的第一反应和直觉,比如小孩...
so easy! 10行代码写个"狗屁不通"文章生成器
前几天,GitHub 有个开源项目特别火,只要输入标题就可以生成一篇长长的文章。 背后实现代码一定很复杂吧,里面一定有很多高深莫测的机器学习等复杂算法 不过,当我看了源代码之后 这程序不到50行 尽管我有多年的Python经验,但我竟然一时也没有看懂 当然啦,原作者也说了,这个代码也是在无聊中诞生的,平时撸码是不写中文变量名的, 中文...
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的回答,对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalking,作者吴晟、刘浩杨 等等 仓库地址: apache/skywalking 更...
MySQL数据库总结
一、数据库简介 数据库(Database,DB)是按照数据结构来组织,存储和管理数据的仓库。 典型特征:数据的结构化、数据间的共享、减少数据的冗余度,数据的独立性。 关系型数据库:使用关系模型把数据组织到数据表(table)中。现实世界可以用数据来描述。 主流的关系型数据库产品:Oracle(Oracle)、DB2(IBM)、SQL Server(MS)、MySQL(Oracle)。 数据表:数...
20行Python代码爬取王者荣耀全英雄皮肤
引言 王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了。我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成。 准备工作 爬取皮肤本身并不难,难点在于分析,我们首先得得到皮肤图片的url地址,话不多说,我们马上来到王者荣耀的官网: 我们点击英雄资料,然后随意地选择一位英雄,接着F12打开调试台,找到英雄原皮肤的图片...
张小龙-年薪近3亿的微信之父,他是如何做到的?
张小龙生于湖南邵东魏家桥镇, 家庭主要特点:穷。 不仅自己穷,亲戚也都很穷,可以说穷以类聚。爷爷做过铜匠,总的来说,标准的劳动阶级出身。 家有兄弟两人, 一个小龙,一个小虎。 小虎好动,与邻里打成一片, 小龙好静,喜好读书。 “文静的像个妹子。”张小龙的表哥如是说。 穷文富武,做个读书郎是个不错的选择。 87年至94年, 华中科技大学本硕连读。 本科就读电信系, 不喜欢上课...
阿里靠什么武功秘籍渡过“双十一“的天量冲击
双十一大概会产生多大的数据量呢,可能大家没概念,举个例子央视拍了这么多年电视新闻节目,几十年下来他存了大概80P的数据。而今年双11一天,阿里要处理970P的数据,做为一个IT人,笔者认为今年”双十一“阿里最大的技术看点有有以下两个: 阿里的数据库,也就是刚刚拿下TPC冠军的OcceanBase,处理峰值也达到了骇人听闻的6100万次/秒, 阿里核心系统百分百上云了。 如果把信息系统比做一个武...
西游记团队中如果需要裁掉一个人,会先裁掉谁?
2019年互联网寒冬,大批企业开始裁员,下图是网上流传的一张截图: 裁员不可避免,那如何才能做到不管大环境如何变化,自身不受影响呢? 我们先来看一个有意思的故事,如果西游记取经团队需要裁员一名,会裁掉谁呢,为什么? 西游记团队组成: 1.唐僧 作为团队teamleader,有很坚韧的品性和极高的原则性,不达目的不罢休,遇到任何问题,都没有退缩过,又很得上司支持和赏识(直接得到唐太宗的任命,既给袈...
iOS Bug 太多,苹果终于坐不住了!
开源的 Android 和闭源的 iOS,作为用户的你,更偏向哪一个呢? 整理 | 屠敏 出品 | CSDN(ID:CSDNnews) 毋庸置疑,当前移动设备操作系统市场中,Android 和 iOS 作为两大阵营,在相互竞争的同时不断演进。不过一直以来,开源的 Android 吸引了无数的手机厂商涌入其中,为其生态带来了百花齐放的盛景,但和神秘且闭源的 iOS 系统相比,不少网友...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观...
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
(经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
今年正式步入了大四,离毕业也只剩半年多的时间,回想一下大学四年,感觉自己走了不少弯路,今天就来分享一下自己大学的学习经历,也希望其他人能不要走我走错的路。 (一)初进校园 刚进入大学的时候自己完全就相信了高中老师的话:“进入大学你们就轻松了”。因此在大一的时候自己学习的激情早就被抛地一干二净,每天不是在寝室里玩游戏就是出门游玩,不过好在自己大学时买的第一台笔记本性能并不是很好,也没让我彻底沉...
相关热词 c# 二进制截断字符串 c#实现窗体设计器 c#检测是否为微信 c# plc s1200 c#里氏转换原则 c# 主界面 c# do loop c#存为组套 模板 c# 停掉协程 c# rgb 读取图片
立即提问