Android开发中与Sqlite数据库相似的数据库 5C

目前Android开发中本地数据库只能用Sqlite数据库嘛?有没有其他数据库可选?(本人知道Sqlite这个很好,但是新手想知道都有什么选择)

8个回答

只能用sqlite,但是对其支持的框架可选

好像是只能用SQLite

还是选通用的吧,而且貌似只有sqlite

貌似只有sqlite,不过你可以对sqlite进行加密处理

XUtils的DBUtils 可以尝试学习一下,本质是一样的额

试试GreenDao吧

本地的只有sqlite,sqlite是android嵌套的

sqlite是轻量级的,消耗资源少,而且是android内嵌的,基本功能也能够满足,非常适合在安卓手机上使用,
如果用其他的如是sqlserver、mysql甚至oracle是不现实的,比如oracle安装就需要上G的内存,这对移动设
备是不适合的,像oracle等重量级的数据库多用于Web开发或移动服务器端的开发,而sqlite综合各方面因素
目前还是非常适合移动端的

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于android APP开发中SQLITE数据库的问题
代码如下,首先请问我写的这段创建数据库的代码有没有错误?然后把这个类的文件放在哪里才对啊,目前程序一打开就是程序已经停止运行,APP的第一个ACTIVITY我设置的就是判断这个库中的某个表中有没有数据。我现在感觉就是程序打开,这个库还没有创建,是不存在的,所以运行不了。请大神指教下我。或者说怎么让APP一开始运行的第一步就是运行以下的代码来创建这个数据库。求指教。 //数据库创建类 package com.captain.dao; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class Db_create extends SQLiteOpenHelper { private static final int VERSION=1; //数据库版本号定义 private static final String DBN="manager.db"; public Db_create(Context context) { super(context,DBN,null,VERSION); } @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub db.execSQL("create table tb_MoneyIn(_id integer primary key,user varchar(20)," + "money decimal,time varchar(10),type varchar(10),person varchar(100),mark varchar(200))"); db.execSQL("create table tb_MoneyOut(_id integer primary key,user varchar(20)," + "money decimal,time varchar(10),type varchar(10),person varchar(100),mark varchar(200))"); db.execSQL("create table tb_Users(_user integer primary key,pwd varchar(20))"); db.execSQL("create table tb_BianQian(_id integer primary key,user varchar(20)," + "content varchar(200))"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub } }
修改sqlite数据库的某一列
我是用eclipse的,android开发,sqlite数据库 我想更改sqlite数据库中某一列的所有数据,比如我的table表中有一列是date,全是sssss,我想修改date这一列中所有的数据,变成ppp
Android 用Gson解析从服务器获取的JSON数据,存入SQLite数据库
![图片说明](https://img-ask.csdn.net/upload/201511/02/1446428881_878901.png) 比如这么一段JSON数据,用Gson解析后存在这几个model里面 ![图片说明](https://img-ask.csdn.net/upload/201511/02/1446429073_729247.png) 然后想存入SQLite本地数据库中。 如果数据库建表 那要怎么建?字段里面需要List<>而且还需要关联其他表。 而且我不知道这种方法是不是好,网上找到一种简便的方法。每次取得JSON数据以String类型保存到SharedPreference中,然后用的时候取出来再用Gson解析,我感觉这挺方便的,但不知实际开发中是怎么用的?说实话有时候我感觉Android上的SQLite数据库有点多余。。
Android 中使用数据库存储数据
android开发中的使用数据库Sqlite存储数据时,存储float类型的数据Float.NAN时读取出来为0.0,如何解决。
使用Android中的SQLite建立一个数据库,加了一张Book表,增加一个表,升级数据库失败
使用Android中的SQLite建立一个数据库BookStore,加了一张Book表,然后我要增加一个Category表,按照《第一行代码》中的6.4.2所示代码写完后,点击App后直接闪退。(我用的是Andro Studio3.1版本,使用真机开发,系统Androi8.1)。代码如下 主活动代码: public class MainActivity extends AppCompatActivity { private MyDatabaseHelper dbHelper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); dbHelper=new MyDatabaseHelper(this,"BookStore.db",null,2); Button createDatabase=(Button)findViewById(R.id.create_database); createDatabase.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dbHelper.getWritableDatabase(); } }); } } 定义一个数据库类MyDatabaseHelper继承SQLiteOpenHelper public class MyDatabaseHelper extends SQLiteOpenHelper { public static final String CREATE_BOOK="create table Book(" +"id integer primary key autoincrement," +"author text" +"price real" +"pages integer" +"name text)"; public static final String CREATE_CATEGORY="create table Category(" +"id integer primary key autoincrement" +"category_name text" +"category_code integer)"; private Context mContext; public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory,int version){ super(context,name,factory,version); mContext=context; } @Override public void onCreate(SQLiteDatabase db){ db.execSQL(CREATE_BOOK); db.execSQL(CREATE_CATEGORY); Toast.makeText(mContext,"Create succeeded",Toast.LENGTH_SHORT).show(); } @Override public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion){ db.execSQL("drop table if exists Book"); db.execSQL("drop table if exists Category"); onCreate(db); } }
如何把spinner中的dropdown item存储到sqlite数据库?
我想存储 spinner中的dropdown值到数据库。我可以按照android开发网站的说明中获得dropdown,但是当用户点击保存按钮时,不能把dropdown的值存储到数据库中。请问如何把spinner中的dropdown item存储到sqlite数据库? 我用的是下面的代码: public class Akshay extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //Spinner For Selecting Room Spinner spinner_room = (Spinner) findViewById(R.id.spinner_for_Room_type_screen_2); ArrayAdapter adapter_room = ArrayAdapter.createFromResource(this, R.array.room_array, android.R.layout.simple_spinner_item); adapter_room.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner_room.setAdapter(adapter_room); spinner_room.setOnItemSelectedListener(new MyOnItemSelectedListener_room()); } } // Listener Implementation of Spinner For Selecting Room public class MyOnItemSelectedListener_room implements OnItemSelectedListener { public void onItemSelected(AdapterView parent, View view, int pos, long id) { } public void onNothingSelected(AdapterView parent) { // Do nothing.} }; }
打开和关闭SQLite数据库
我开发了一个android程序,经常用来访问本地数据库。这个数据库可以从不同的线程中访问,所以对于数据库有一个协调问题,我用的是open() 和 close() 方法。 public void open(){ mDb=mDbHelper.getWritableDatabase(); } public void close(){ mDb.close(); } 所以通常当我需要访问数据库执行操作时,就打开数据库,然后执行一些操作,最后关闭数据库。使用的代码如下: try { dbManager.open(); // database operation } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ try { dbManager.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } 但是,如果这段代码从不同的线程中使用(假使线程 A 和线程B),就会发生下面的情况: A thread: performs open() B thread: perfroms open() A thread: perfroms some operation A thread: performs close() B thread: try to perform some operation but it fails! 因此,唯一的解决方法是当程序开启时执行open(),程序停止是执行close()。我不知道这是不是一个好的解决方法? 实际上,getWritableDatabase() 方法(从open()中调用)的文档也说: Make sure to call close() when you no longer need the database 谁能告诉我一个可执行的解决方案?
android使用SQLite储存较大文件(图片、音频)的问题
在android开发中我想把一张图片或者一首歌存储在SQLite数据库中,但是考虑到SQLite数据库很小,装不了太多图片或者音频,我就想到了把图片或者音频转换成byte【】形式再进行存储,我想知道这种做法到底靠不靠谱,如果不靠谱请大神们给个思路指点一下,谢谢大家!!!
android开发的链接数据库问题
安卓开发怎么链接远程数据库呢?怎么连接mysql数据库?连接sqlite能否实现远程连接?我是安卓开发小白 请大神指点
用Eclipse 和sqlite3开发Android 应用
安卓小白一只,在Eclipse 里写好了界面,正在着手创建数据库,功能需要通过界面对数据库里的数据进行增删改查。 比如在界面需要输入用户名和ID的文本框里输入用户名和ID, 然后后端的sqlite数据库里就增加一条数据或者增加一个表。 请问各位大神这个要怎么实现呢,现在只会在程序里用代码手动修改数据(ಥ_ಥ)
Android SQLite数据库提取并存储到数组
开发过程中需要将蓝牙设备传给手机的数据存储下来,并能将数据存储在数组中,利用数组中的数据,我需要去描点画图。现在数据库已经创建成功,并且能够存储数据了,但是从数据库提取数据的时候,就无法运行,请大神指教 ``` private SaveDatabaseHelper dbHelper; ArrayList<String> dataList = new ArrayList<String>(); ... dbHelper = new SaveDataHelper(this,"Data.db",null,1); dbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("data",data);//data值由蓝牙传入 dbHelper.insert(values); Cursor cursor = dbHelper.query(new String[]{"data"},"data = ?",null,null,null,null); if(cursor != null && cursor.getCount() >0){ while(cursor.moveToNext()){ for(int i = 0 ; i < cursor.getCount();i++){ String data = cursor.getString(cursor.getColumnIndex("data")); dataList.add(data); } } cursor.close(); } ``` 代码是这些,但是程序运行到insert方法之后就没有继续往下运行了,直接跳过了,不知道是什么原因,数据库这边我基础很弱,还请大神指导
数据库选择:mysql 还是sqlite3?
要开发一款手机APP,有多个用户。功能举例:用户A可以给用户B转账50元,A还可以查看自己的消费记录等 金额之类的都是用数据库模拟,现在不知道该用哪个数据库,求大神们指点一二(ಥ_ಥ)
android开发用电脑连接手机 我为什么不能使用sqlite3工具创建数据库?
![图片说明](https://img-ask.csdn.net/upload/201703/04/1488623680_862996.png)
Android开发一个本地题库,在录入题库信息时,怎么将图片信息导入到sqlite中。
![图片说明](https://img-ask.csdn.net/upload/201511/15/1447587880_915045.png) 希望录入数据时通过可视化工具(sqlite expert)或者 excel 导入图片。。 实在是没什么思路。。。。希望大家指点一下。 ![图片说明](https://img-ask.csdn.net/upload/201511/15/1447587906_584762.jpg) 类似的效果
如何创建一个 android 程序升级机制?
我开发了一个android 程序,然后在平板电脑上安装了 apk。 现在我想修改一些代码行和SQLite 数据库中的一个表格,但是我不想重新安装 apk,我想升级一下。 那么如何创建这个升级机制?
Android 真机怎么安装sqlite3?
没有用虚拟机进行开发,一直用的小米手机进行的开发,现在已经将小米手机的系统刷成了开发版,并且已经root了,但是在cmd中使用sqlite3命令的时候,就会报 ``` sh: sqlite3: not found ``` 在网上查了很多也一直没有个解决的方法,有微博说使用cat命令,但是我也是没法成功,按照步骤已经把sqlite3以及libncurses.so下载到了E盘中的users中。 ``` 其解决方法是先将/system处于挂载状态,允许读写,命令如下: mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system 就这一条命令我就又卡住了,总是出现 mount: Permission denied ``` 因为虚拟机一直安装不成功,也没有去换系统,就只能用真机进行开发,但是数据库这边这个问题太困扰我了,向大家求助! 大家谁用真机弄过sqlite3啊?
AndroidStudio开发APP 用本地SQlite实现登陆,但账号密码全是0?
实现登陆功能时,无法用本地自己用SQlite创建的数据库,只能输入账号密码全为0才能登进去,自己的数据库中的账号密码根本不被调用,这是怎么回事? 求大佬告知
android过程中遇到的困惑
在校学生,自学android断断续续快半年,前一段时间,再看那本《android从小工到专家》,刚开始就是activity的源码,顿时懵逼了,然后就捡书里的自己感兴趣的内容看了,这几天看那个《android开发艺术探索》,更是完全懵逼了,我开始还以自己的android基础是不是太差了,所以看不懂这些进阶书籍,但是那种UI控件,四大组件,网络编程,多线程,异步任务处理,sqlite数据库编程也都用过,如果可以用搜索引擎搜索的话,感觉都能弄出来,但是没网的话,能不能弄出来就说不定了,你们觉得这是种什么样的情况
安卓,查询数据时怎么什么也没有查到?
数据库创建成功了,添加数据也成功了。但在查询数据跳转到第二个Activity时是白屏, 什么也没查到,调试的结果是没有进入到while里面去执行,为什么没满足while条件, 怎么改? ![图片说明](https://img-ask.csdn.net/upload/201612/16/1481840102_551791.png) ![图片说明](https://img-ask.csdn.net/upload/201612/16/1481840116_963276.png) ![图片说明](https://img-ask.csdn.net/upload/201612/16/1481840132_440910.jpg) DatabaseHelper.java ``` package com.exampl.mysql; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; import android.widget.Toast; public class DatabaseHelper extends SQLiteOpenHelper{ private Context mContext; public static final String CREATE_TABLE_SQL="create table dict(_id integer primary key autoincrement,word text,detail text);"; public DatabaseHelper(Context context,String name,CursorFactory factory,int version) { super(context,name,factory,version); mContext=context; } public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_TABLE_SQL); Toast.makeText(mContext,"创建成功!",Toast.LENGTH_LONG).show(); } public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion) { } } ``` MainActivity.java ``` package com.exampl.mysql; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import android.app.Activity; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener{ private Button insert=null; private Button search=null; private EditText word=null; private EditText detail=null; private EditText key=null; DatabaseHelper dbHelper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); dbHelper=new DatabaseHelper(this,"myDict.db3",null,1); insert=(Button)findViewById(R.id.insert); insert.setOnClickListener(this); search=(Button)findViewById(R.id.search); search.setOnClickListener(this); word=(EditText)findViewById(R.id.word); detail=(EditText)findViewById(R.id.detail); key=(EditText)findViewById(R.id.key); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.insert: String wor=word.getText().toString().trim(); String det=detail.getText().toString().trim(); insertData(dbHelper.getReadableDatabase(),wor,det); Toast.makeText(this, "添加生词成功!", Toast.LENGTH_LONG).show(); break; case R.id.search: String ke=key.getText().toString().trim(); Cursor cursor=dbHelper.getReadableDatabase().rawQuery("select*from dict where ? or ?", new String[]{"%"+ke+"%","%"+ke+"%"}); Bundle data=new Bundle(); data.putSerializable("date", converCursorToList(cursor)); Intent intent=new Intent(MainActivity.this,Result.class); intent.putExtras(data); startActivity(intent); break; default:break; } } protected ArrayList<Map<String,String>> converCursorToList(Cursor cursor) { ArrayList<Map<String,String>> result=new ArrayList<Map<String,String>>(); while (cursor.moveToNext()) { Map<String,String> map=new HashMap<String,String>(); map.put("word", cursor.getString(1)); map.put("detail", cursor.getString(2)); result.add(map); } return result; } private void insertData(SQLiteDatabase db,String word,String detail) { db.execSQL("insert into dict(word,detail) values(?,?)",new String[]{word,detail}); } @Override public void onDestroy() { super.onDestroy(); if (dbHelper!=null) dbHelper.close(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } } ``` Result.java ``` package com.exampl.mysql; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class Result extends Activity { private TextView jieguo=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.line); jieguo=(TextView)findViewById(R.id.jieguo); Bundle bundle=getIntent().getExtras(); jieguo.setText(bundle.getString("date")); } } ```
相见恨晚的超实用网站
相见恨晚的超实用网站 持续更新中。。。
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...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
英特尔不为人知的 B 面
从 PC 时代至今,众人只知在 CPU、GPU、XPU、制程、工艺等战场中,英特尔在与同行硬件芯片制造商们的竞争中杀出重围,且在不断的成长进化中,成为全球知名的半导体公司。殊不知,在「刚硬」的背后,英特尔「柔性」的软件早已经做到了全方位的支持与支撑,并持续发挥独特的生态价值,推动产业合作共赢。 而对于这一不知人知的 B 面,很多人将其称之为英特尔隐形的翅膀,虽低调,但是影响力却不容小觑。 那么,在...
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
JavaScript 为什么能活到现在?
作者 | 司徒正美 责编 |郭芮 出品 | CSDN(ID:CSDNnews) JavaScript能发展到现在的程度已经经历不少的坎坷,早产带来的某些缺陷是永久性的,因此浏览器才有禁用JavaScript的选项。甚至在jQuery时代有人问出这样的问题,jQuery与JavaScript哪个快?在Babel.js出来之前,发明一门全新的语言代码代替JavaScript...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
Python 编程开发 实用经验和技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法和技巧,包括小数保留指定位小数、判断变量的数据类型、类方法@classmethod、制表符中文对齐、遍历字典、datetime.timedelta的使用等,会持续更新......
吐血推荐珍藏的Visual Studio Code插件
作为一名Java工程师,由于工作需要,最近一个月一直在写NodeJS,这种经历可以说是一部辛酸史了。好在有神器Visual Studio Code陪伴,让我的这段经历没有更加困难。眼看这段经历要告一段落了,今天就来给大家分享一下我常用的一些VSC的插件。 VSC的插件安装方法很简单,只需要点击左侧最下方的插件栏选项,然后就可以搜索你想要的插件了。 下面我们进入正题 Material Theme ...
实战:如何通过python requests库写一个抓取小网站图片的小爬虫
有点爱好的你,偶尔应该会看点图片文字,最近小网站经常崩溃消失,不如想一个办法本地化吧,把小照片珍藏起来! 首先,准备一个珍藏的小网站,然后就可以开始啦! 第一步 我们先写一个获取网站的url的链接,因为url常常是由page或者,其他元素构成,我们就把他分离出来,我找到的网站主页下有图片区 图片区内有标题页,一个标题里有10张照片大概 所以步骤是: 第一步:进入图片区的标题页 def getH...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
相关热词 c# 引用mysql c#动态加载非托管dll c# 两个表数据同步 c# 返回浮点json c# imap 链接状态 c# 漂亮字 c# 上取整 除法 c#substring c#中延时关闭 c#线段拖拉
立即提问